2014-01-24 51 views
1

在我的iPhone应用程序修复的UIBarButtonItem我有一个UIToolbar的中心UITextView,在UITextView的左侧和UITextView右侧的按钮的UIImage。这是我的代码:与图像底部的工具栏的iOS 7应用

UIBarButtonItem *sendButton = [[UIBarButtonItem alloc] initWithTitle:@"Send" style:UIBarButtonItemStylePlain target:self action:@selector(dismissKeyboard)]; 
UIImage *image = [UIImage imageNamed:@"smile.png"]; 
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; 
UIBarButtonItem *smile = [[UIBarButtonItem alloc] initWithImage:image style:UIBarButtonItemStylePlain target:self action:@selector(dismissKeyboard)]; 
UIBarButtonItem *textview = [[UIBarButtonItem alloc] initWithCustomView:_newMessageTextView]; 
newMessageToolbar.items = [NSArray arrayWithObjects: smile, textview, sendButton, nil]; 

这是结果:

enter image description here

我的问题是,当我打算写多行文本。当按钮被固定在UIToolbar的底部,在垂直中心UIImage移动:

enter image description here

我不明白为什么会这样,我想有UIImage固定在底太。我该如何解决这个问题?

+0

首先你用图片代替barbutton什么是以下情况:它试图下山或仍然作为中心 – codercat

回答

0

在你_newMessageTextView的文字变化的委托方法,当输入文本修改的TextView的高度,添加以下代码调整的UIBarButtonItem微笑的imageInsets:

UIBarButtonItem *smile = [newMessageToolbar.items objectAtIndex:0]; 

[smile setImageInsets:UIEdgeInsetsMake(0, 0, (/* Calculate bottom inset value*/)*-1, 0)]; 
+0

谢谢,它真的很好! – lubilis