我也做过类似的事情。我通过创建一个包含两个ui按钮的uiview子类,将两个ui按钮添加到导航项/栏中。然后您可以这样做:
MyUIViewSubclass *tempview = [[[MyUIViewSubclass alloc] initWithFrame:CGRectMake(234,4,84,30)] autorelease];
UIBarButtonItem newButton = [[[UIBarButtonItem alloc] initWithCustomView:tempview] autorelease];
[self.navigationItem setRightBarButtonItem:newButton animated:NO];
你所要做的就是把按钮放在
MyUIViewSubclass
你很好。
另外,我在自定义的init命令中传递目标的ID,以便更容易地确定视图中按钮的目标。所以
myuiviewSubclass(myuiviewSubclass)
而不是
initWithFrame
,我有这样的东西:
- (id)initWithFrame:(CGRect)aRect andTarget:(id)newTarget {
if (self = [super initWithFrame:aRect]) {
UIButton *editbtn = [[[UIButton alloc] initWithFrame:fframe] autorelease];
[editbtn addTarget:newTarget action:@selector(MBEdit) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:editbtn];
[self setFirstbutton:editbtn];
[editbtn release];
UIButton *newbtn = [[[UIButton alloc] initWithFrame:fframe] autorelease];
[newbtn addTarget:newTarget action:@selector(MBNew) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:newbtn];
[self setSecondbutton:newbtn];
[newbtn release];
}
return self;
}