JSQmessageView控制器:添加“后退”按钮&导航栏上的图像,Swift

时间:2016-10-25 02:07:12

标签: uinavigationbar uinavigationitem jsqmessagesviewcontroller

我正在使用JSQmessageViewController并尝试以编程方式添加“后退”按钮&导航栏上的用户图像。我正在使用以下代码。运行后,没有“后退”按钮或图像。附件是模拟器的屏幕截图。我用普通的UIViewController测试了这些代码,然后就可以了。

我可以知道他们为什么不使用JSQmessageViewController吗?我应该怎么做才能添加“后退”按钮&导航栏上的图像?非常感谢!

    let navigationBar = UINavigationBar(frame: CGRectMake(0, 0, self.view.frame.size.width, 64))

    navigationBar.backgroundColor = UIColor.whiteColor()
    navigationBar.delegate = self;


    let navigationItem = UINavigationItem()
    navigationItem.title = strValue

    let leftButton =  UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "back:")
    self.navigationItem.leftBarButtonItem = leftButton

    let imgButton = UIButton()

    imgButton.setImage(image, forState: .Normal)
    imgButton.addTarget(self, action: "EditProfile:", forControlEvents: UIControlEvents.TouchDown)
    imgButton.frame = CGRectMake(self.view.frame.width - 60, 0, 41, self.view.frame.height)

    var rightButton = UIBarButtonItem(customView: imgButton)

    self.navigationItem.rightBarButtonItem = rightButton


    navigationBar.items = [navigationItem]

    self.view.addSubview(navigationBar)

}

1 个答案:

答案 0 :(得分:0)

因此,如果您使用导航控制器来呈现/cloudservice/null的实例化,那么导航栏实际上应该已存在。你可以只提供这些按钮,它们将在正确的位置。您似乎也可能使用过时的语法进行操作。这是最新的语法。

创建一个添加后退按钮的功能。

def evenSeq(seq):
    i = startindex = maxindex = maxcount = 0

    while i < len(seq):
        if seq[i]%2==0:
            startindex = i
            while i < len(seq) and seq[i]%2==0:
                i+=1
            if maxcount < i - startindex:
                maxcount = i - startindex
                maxindex = startindex            
        i+=1

    return (maxindex, maxcount)    

为按钮创建操作。

JSQMessagesViewController

然后,对于你的图像,你实际上是想在标题视图中放置一个按钮。哪个没问题。

func addCancelButtonLeft() {
    let button = UIBarButtonItem(barButtonSystemItem: .back, target: self, action: #selector(dismissView))
    navigationItem.leftBarButtonItem = button
}

如果您有更多问题,请告诉我,我会看到我能做些什么。祝你好运