i Création d'un bouton de la barre de gauche avec la méthode suivante: J'ai besoin d'ajouter un bouton sur la vue car lorsque j'utilise CGRectOffset pour le bouton, il ne fonctionne pas. Donc, avec ce cas, mon bouton sur un OD L'UIViewController affiche P> C'est ce que je veux. Mais Uibarbutton a commencé à cliquer sur Uibarbutton (zone du rectangle). Mais quand j'ajoute que je n'aijoute que dans uibarbuttonitem, il fonctionne même si j'ai cliqué sur la zone de la zone d'Uinavigation que vous pouvez voir à l'écran. P> i Ajouter un bouton comme ceci: P>
- (void)leftButtonOnNavigationItem:(NSString *)imageName type:(NSInteger)type
{
UIImage *backImg = [UIImage imageNamed:imageName];
UIButton *backBtn = [[UIButton alloc] initWithFrame:CGRectMake(0.f, 0.f, backImg.size.width, backImg.size.height)];
if (type == 0)
[backBtn addTarget:self.navigationController action:@selector(pop) forControlEvents:UIControlEventTouchUpInside];
else
[backBtn addTarget:self action:@selector(leftMake) forControlEvents:UIControlEventTouchUpInside];
backBtn.contentMode = UIViewContentModeCenter;
[backBtn setImage:backImg forState:UIControlStateNormal];
// UIView *backBtnView = [[UIView alloc] initWithFrame:backBtn.bounds];
// backBtnView.bounds = CGRectOffset(backBtnView.bounds, -6, 0);
// [backBtnView addSubview:backBtn];
UIBarButtonItem *backBarBtn = [[UIBarButtonItem alloc] initWithCustomView:backBtn];//View];
self.navigationItem.leftBarButtonItem = backBarBtn;
}
4 Réponses :
Le cadre d'une vue est la taille et la position de la vue dans un superview (son parent). Donc, lorsque vous allez à définir et oubliez les limites de tous ensemble, je pense que cela vous mettra dans la bonne direction. P> p> backbtnview initwithframe code> Essayez:
pas d'aide = (même résultat - zone cliquable est uniquement rate de bouton
Tous les commandes / éléments pouvant être interagi avec hériter d'UIView. UIView fournit une méthode appelée Il est possible de réimplacer cette méthode dans votre propre sous-classe pour augmenter ou diminuer la validité. Appuyez sur la région de la vue (ou bouton dans votre cas). Par exemple, pour développer la région de frappe de 5 points dans toutes les directions p> notez les valeurs négatives lors de l'utilisation de CGRectureNet (). En effet, la fonction est conçue pour rétrécissant em> un cgre, donc en spécifiant une valeur négative, la fonction élargie le CGRRECT. P> espère que cela aide! P> p> - (BOOL) POINTINITIDE: (CGPOINT) POINTEvent: (UIVENT *) Evénement; CODE>
uibarbuttonitem code> n'hérite pas réellement de
uiview code>, sa sous-classe
nsObject code>.
@jszumski tandis que c'est vrai, il ajouté en fait un Uibutton en tant que sous-vision personnalisée de l'Uibarbuttonitem.
Vous pouvez utiliser UiedgeIsetsSetsMake. Cela fonctionne pour moi.
Je l'ai corrigé dans le cadre d'accessibilité d'occasion. Il suffit de définir un cadre d'accessibilité pour le bouton avec une hauteur et une largeur accrues et cela fonctionnera. P>