开发者

adding custom UIButton to UINavigationBar

So the code I have is as follows:

// Create a containing view to position the button
    UIView *containingView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 23.5, 21.5)] autorelease];

    // Create a custom button with the image
    UIButton *button =  [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:@"Settings.png"] forState:UI开发者_高级运维ControlStateNormal];
    [button addTarget:self action:@selector(settings) forControlEvents:UIControlEventTouchUpInside];
    [button setFrame:CGRectMake(-19, -3, 21.5, 21.5)];
    [containingView addSubview:button];

    // Create a container bar button
    UIBarButtonItem *containingBarButton = [[[UIBarButtonItem alloc] initWithCustomView:containingView] autorelease];
    self.navigationItem.rightBarButtonItem = containingBarButton;

The issue is that my Settings.png original image size is 21.5, 21.5 and there fore the button is super hard to click. I have to tap really hard in order to trigger the UITouchUpInside to be triggered. This will clearly be rejected if I put it in the app store, as it is not in compliance with apple's HIG. Is there a way around this? I still need to use UIView as the container for the UIButton as I'd like to position it correctly on the UINavigationBar


Try to set a bigger fram to the button like 40,40 and set the content mode to be the center so the image will apear to be in the center.

button.contentMode = UIViewContentModeCenter;

Tell me if that helped

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜