I am trying to a slide menu. The only problem is that the image for the UIButton does not show at runtime. This is the code I have written.

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}
-(NSString *)segueIdentifierForIndexPathInLeftMenu:(NSIndexPath *)indexPath
{
    NSString *identifier;
    switch (indexPath.row) {
        case 0:
            identifier=@"firstSegue";
            break;
            case 1:
            identifier=@"secondSegue";
            break;
    }
    return identifier;
}
-(void)configureLeftMenuButton:(UIButton *)button
{
    CGRect frame = button.frame;

    frame.origin=(CGPoint){0.0};
    frame.size = (CGSize){40.40};
    button.frame = frame;
    [button setImage:[UIImage imageNamed:@"icon-menu"] forState:UIControlStateNormal];
}
有帮助吗?

解决方案

I suppose you are using navigation controller. If so, implementation could look like:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self configureLeftMenuButton];
}

-(void)configureLeftMenuButton
{
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    [button setImage:[UIImage imageNamed:@"icon-menu"] forState:UIControlStateNormal];
    button.frame = CGRectMake(0.0f, 0.0f, 44.0f, 44.0f);

    [button addTarget:self
               action:@selector(yourAction:)
     forControlEvents:UIControlStateNormal];

    UIBarButtonItem *menuItem = [[UIBarButtonItem alloc] initWithCustomView:button];

    self.navigationItem.leftBarButtonItem = menuItem;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top