ios - 如何在 iOS7 中右对齐 UISearchbar 的文本

标签 ios iphone objective-c ios7

你能告诉我如何在 iOS 7 中右对齐 UISearchbar 文本吗? ,我在 iOS6 中使用它,但现在它在 iOS7 中不起作用:

//hacking search bar
UITextField *searchField;
for (UIView *subview in self.searchBar.subviews)
{

       if ([subview isKindOfClass:[UITextField class]]) {
        searchField = (UITextField *)subview;
        break;
    }
}
if (searchField) {
    searchField.textAlignment = NSTextAlignmentRight;
}

最佳答案

不幸的是,如果不从头开始完全重新实现该类,则无法安全地完成此操作,因为当用户开始和完成编辑时,文本对齐方式由对象代码的内部调整。

最接近您想要做的事情是使用三个位置调整来水平移动文本,但这不会影响对齐,只会影响绝对位置,即使这样也只会在用户输入时发生。

如果您想尝试这个,请查找 searchTestPositionAdjustment、setPositionAdjustment:forSearchBarIcon: 和 searchFieldBackgroundPositionAdjustment。不过,我认为这对您没有多大用处。

-灰

关于ios - 如何在 iOS7 中右对齐 UISearchbar 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555214/

相关文章:

ios - UITableView willDisplayCell 方法的不当行为

ios - 尝试复制文件时出错

iphone - 在应用内购买后更改应用名称

iphone - 在 UITableViewCellAccessoryDe​​tailDisclosureButton 下显示 UIMenuController

iphone - 在 UIImagePickerController 中隐藏快门

ios - 向 nsdictionary 添加各种对象和键

iphone - Safari 网页浏览器无法使用 URL 打开

iphone - 在 iOS 上,有没有办法直接改变或绘制到 CGImage 而不是绘制到 Graphics Context 然后转换整个东西?

iphone - 在ScrollView中查找TextField相对于屏幕的坐标

objective-c - 在 Objective-C 中否定 BOOL 的最短方法是什么?