/ / Как да създадете бутони, които се активират, когато потребителят плъзне пръста си върху тях на iPhone - iphone, бутон, създаване на интерфейс, слайд, ibaction

Как да създадете бутони, които се активират, когато потребителят плъзга пръст върху тях на iPhone - iphone, бутон, интерфейс-строител, слайд, ibaction

Пиша приложение за iPhone, което имапиано като интерфейс. Потребителят се представя с множество големи бутони без интервали между тях. В момента създадох IBActions в Interface Builder, като дясна мишка плъзне бутоните в съответния файл на интерфейс на контролера на изглед. Това създава метод:

-(IBAction) buttonTouchDown: (id) sender

В основата на тази функция включих кода, който отговаря на това действие.

Това работи, когато докосна бутона, но когато гоплъзнете пръста си върху редица бутони, само първото се активира. Когато плъзнем пръста си върху бутоните, имам нужда първият да се активира, докато пръстът ми е над него. След това, когато пръстът ми напусне бутона и влезе във втория бутон, имам нужда вторият да се активира и първият да се деактивира.

Всеки съвет би бил много ценен!

Отговори:

1 за отговор № 1

Можете също да използвате функцията докосваBegan. С тази функция можете лесно да кажете какво би се случило, ако се натисне / докосне бутон (или няколко бутона).

Кодът трябва да изглежда така:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event touchesForView:self.view] anyObject];

if(touch == YourButton){
//so some stuff after touching the button

}
}

Не забравяйте да декартирате бутона във вашия .h като IBOutlet UIButton * MyButton;


0 за отговор № 2

Не съм опитвал това, но опитайте да добавите наскородобави разпознаващ жест към вашия бутон. Изберете посоката на плъзгане (вдясно / наляво) и съответно въведете функцията [бутон setEnabled]. Нещо като когато прекарате пръст, вие задавате бутона за активиране и всички други бутони за деактивиране.

Спокойствие


0 за отговор № 3

Бутоните не са пътят. UIViews имат различни методи за докосване, които биха работили по-добре. Или използвайте персонализиран разпознаващ жест.