iPhone: Wie man UIButton macht, die man leicht antippen kann?

7

Ich mache eine benutzerdefinierte Navigationsleiste, indem ich UIView und UIButtons anstelle von UINavigationBar verwende.

Aber mein UIButtons in der Navigationsleiste reagiert nicht empfindlich.

Ich muss fast in der Mitte von UIButton tippen, um zu tippen.
Es reagiert nicht, wenn ich die Kante von UIButton antippen.

Aber Schaltflächen auf normal UINavigationBar können durch Antippen der Schaltfläche angetippt werden.
Auch wenn Sie auf den Knopf tippen, kann er angetippt werden.

Der Auslöser oder die Optionstaste in der Kamera-App kann auch durch Tippen auf die Kante oder außerhalb der Tasten angetippt werden.

Wie kann ich diese einfach zu tappenden Schaltflächen in meiner App implementieren?

    
js_ 26.06.2012, 17:10
quelle

3 Antworten

11

Verwenden Sie ein Bild und erstellen Sie eine benutzerdefinierte Schaltfläche. Stellen Sie die Schaltfläche so ein, dass das Bild nicht auf die Größe der Schaltflächenansicht skaliert, sondern stattdessen nur zentriert wird. Erweitern Sie die Größe der Schaltfläche, sodass sie größer als das Bild auf jeder Seite ist. Apple macht das auch mit Dingen wie Tab-Buttons.

    
Owen Hartnett 26.06.2012, 18:31
quelle
10

UIButton hat eine imageEdgeInsets property speziell für diesen Zweck. Erstellen Sie einfach einen UIButton-Rahmen, der so groß ist, wie Sie für den berührbaren Bereich benötigen, und skalieren Sie dann das Bild entsprechend mit imageEdgeInsets .

    
DanSkeel 08.11.2012 14:03
quelle
4

Haftungsausschluss: Dieser Code wurde nicht getestet, aber er gibt Ihnen eine Vorstellung davon, wie es gemacht werden könnte.

Sie machen eine Schaltfläche (in diesem Fall 40px x 40px) und fügen dann ein Hintergrundbild hinzu, das kleiner ist. Dadurch entsteht der Eindruck, dass das Bild sehr "anklickbar" ist.

%Vor%     
Andreas 26.06.2012 19:42
quelle

Tags und Links