在页脚的同一行中添加两个按钮

时间:2016-06-21 00:02:32

标签: ios swift uibutton

你好我想以编程方式在我的ViewController上添加两个按钮,如enter image description here

我所做的就是这个

func createButton(buttonTitle: String,buttonAction: Selector) -> UIButton{
        let button   = UIButton(type: UIButtonType.System) as UIButton
        button.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame)/2, 48)
//       button.translatesAutoresizingMaskIntoConstraints = false

        button.setTitle(buttonTitle, forState: UIControlState.Normal)
        button.addTarget(self, action:buttonAction, forControlEvents: UIControlEvents.TouchUpInside)
        button.setTitleColor(UIColor.whiteColor(), forState:UIControlState.Normal)
        button.titleLabel?.font = UIFont(name: Variables.MONTESERRAT_REGULAR, size: 20.0)



        button.backgroundColor = UIColor().blueColor()       //top
        button.titleEdgeInsets = UIEdgeInsetsMake(0.0,10.0, 10.0, 0.0)
      return button
    }



 override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

        let footerView = UIView()
        footerView.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 48)

  bottomButton = createButton("PUBLISH", buttonAction: "Publish")

   footerView.addSubview(bottomButton!)



        return footerView

}

目前它只打印一个按钮。第二个按钮我正在做这个

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

            let footerView = UIView()
            footerView.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 48)

      bottomButton = createButton("PUBLISH", buttonAction: "Publish")

 bottomButton2 = createButton("Delete", buttonAction: "Delete")

       footerView.addSubview(bottomButton!)
       footerView.addSubview(bottomButton2!)




            return footerView

    }

此代码不打印两个按钮。只打印一个

1 个答案:

答案 0 :(得分:0)

我认为问题在于两个按钮具有相同的位置,因此一个按钮显示在另一个按钮之上。

试试这个:

    func createButton(buttonTitle: String,buttonAction: Selector, buttonNumber : Int) -> UIButton{

        let backgroundColor = buttonNumber == 0 ? UIColor.blueColor() : UIColor.orangeColor()
        let space : CGFloat = 5

        let button   = UIButton(type: UIButtonType.System) as UIButton
        let width = (CGRectGetWidth(self.view.frame) - space)/2

        let xPos = buttonNumber == 0 ? 0 : width + space
        button.frame = CGRectMake(xPos, 0, width, 48)
        //       button.translatesAutoresizingMaskIntoConstraints = false


        button.setTitle(buttonTitle, forState: UIControlState.Normal)
        button.addTarget(self, action:buttonAction, forControlEvents: UIControlEvents.TouchUpInside)
        button.setTitleColor(UIColor.whiteColor(), forState:UIControlState.Normal)
//        button.titleLabel?.font = UIFont(name: Variables.MONTESERRAT_REGULAR, size: 20.0)

        button.backgroundColor = backgroundColor
        button.titleEdgeInsets = UIEdgeInsetsMake(0.0,10.0, 10.0, 0.0)
        return button
    }

然后像这样添加它:

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

    let footerView = UIView()
    footerView.frame = CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 48)

    bottomButton = createButton("PUBLISH", buttonAction: "Publish", buttonNumber: 0)

    bottomButton2 = createButton("Delete", buttonAction: "Delete", buttonNumber: 1)

    footerView.addSubview(bottomButton!)
    footerView.addSubview(bottomButton2!)

    return footerView

}