代码之家  ›  专栏  ›  技术社区  ›  MrMage

将uibarButtonSystemAdd和uibarButtonSystemTrash添加到导航项或uiSegmentedControl的一侧

  •  2
  • MrMage  · 技术社区  · 15 年前

    我想要一个 UIViewController 它有一个添加按钮和一个垃圾按钮,两个按钮都指向标题,或者添加两个 UIBarButtonItems 到导航项/栏或将它们添加到 UISegmentedControl 然后将分段控制添加到项中。这有可能吗?如果是,如何取得最好的成绩?

    2 回复  |  直到 13 年前
        1
  •  0
  •   mjdth    15 年前

    我也做过类似的事情。我通过创建一个包含两个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;
    
    }
    
        2
  •  1
  •   zoul    15 年前

    通过将多个按钮包装在 UIToolbar , sample code .