/ / Najlepszy sposób na zastosowanie przycisków do zmiany strony w scrollView? - iphone, cel-c, uiscrollview, uigesturerecognizer, uiswitch

Najlepszy sposób na zastosowanie przycisków do zmiany strony w scrollView? - iphone, cel-c, uiscrollview, uigesturerecognizer, uiswitch

W tej chwili robię to przez posiadanie "slotów", do których przypisane są przyciski, które są czytane z plist.

switch ([slot1 intValue]) {
case 1:
button1 = [wtb twitterButtonType];
[button1 addGestureRecognizer:twitterButtonTap];
break;
case 2:
button1 = [wtb facebookButtonType];
[button1 addGestureRecognizer:faceBookButtonTap];
break;
case 3:
button1 = [wtb SMSButtonType];
[button1 addGestureRecognizer:smsButtonTap];
break;
case 4:
button1 = [wtb phoneButtonType];
[button1 addGestureRecognizer:instaCallButtonTap];
break;
case 5:
button1 = [wtb cameraButtonType];
[button1 addGestureRecognizer:cameraButtonTap];
break;
case 6:
button1 = [wtb torchButtonType];
[button1 addGestureRecognizer:flashButtonTap];
break;
case 7:
button1 = [wtb pastieButtonType];
[button1 addGestureRecognizer:pastieButtonTap];
break;
case 8:
button1 = [wtb powerButtonType];
[button1 addGestureRecognizer:powerButtonTap];
break;
default:
button1 = nil;
allocSlot1 = NO;
break;
}

Teraz jestem prawie w 100% pewien, że to nie jest sposóbaby to zrobić, jak możesz sobie wyobrazić, z więcej niż kilkoma slotami, to spaghetti tam szybko wymyka się spod kontroli. Moje pytanie brzmi: jaki jest konwencjonalny sposób robienia tego, co próbuję?

Odpowiedzi:

0 dla odpowiedzi № 1

Napisałem podobny interfejs użytkownika w Aplikacja na iPada o rozdzielczości 500 pikseli - seria przycisków w widoku przewijania. znalazłem w tym samouczku bardzo pomocne; opisuje sposób tworzenia tego rodzaju "nieskończonego" widoku przewijania z pętlą z ograniczoną liczbą widoków.

Plik wydaje się przesadny, ale może mieć sensjeśli oczekujesz, że użytkownicy będą je edytować, aby kontrolować zawartość. Myślę, że jeśli będziesz mieć dynamiczną zawartość, prawdopodobnie jest to właściwa droga. Jeśli są to zawsze te same przyciski, możesz po prostu dodać przyciski jako zmienne instancji, a nawet tablicę zmiennych instancji.