2013-10-25 3 views
2

Мне нужно изменить положение UIBarButtom во время выполнения программно.UIBarButtomItem получить действие selctor

Если я использую

UIBarButtonItem *b = photoEditor.navigationItem.leftBarButtonItem; 
CGRect frame = b.customView.frame; 
frame.origin.x = frame.origin.x + 20; 

положение не изменится

Затем я хочу кнопку восстановить, используя ...

UIBarButtonItem * btn = [[UIBarButtonItem alloc] initWithTitle:title style:UIBarButtonItemStyleBordered target:target action:selector];

, но я не могу получить доступ к информации действия.

Чтобы получить цель, b.target, но если я хочу b.action?

Помогите мне пожалуйста

Благодаря

ответ

0

Try решение этой ссылке Apply back action to uiButton, в нем установлены рамки для кнопки в соответствии с вашими потребностями.

После этого, когда вы хотите изменить рамку снова использовать ниже код

UIBarButtonItem *item = self.navigationItem.leftBarButtonItem; 
    UIView *view = [item valueForKey:@"view"]; 
    [view setFrame:CGRectMake(0, 0, 56, 31)]; // Frame as per your need. 
    self.navigationItem.leftBarButtonItem = item; 
0

Если ваш вопрос заключается в том, чтобы получить селектор действий, Apple документации, если в нужном месте, чтобы получить ответ: UIBarButtonItem reference:

@property(nonatomic) SEL action 
0

вы можете

UIBarButtonItem *item = self.navigationItem.leftBarButtonItem; 

пункт setWidth: 56;

Смежные вопросы