有没有人find了使用新的iOS5键盘事件的好方法?

在为我的iPad应用程序开发最新function的过程中,我意识到新的iOS5键盘对接/拆分行为正在引发巨大的问题。 我使用一个inputAccessoryView的键盘上的文本字段,类似于Safari的页面functionfind。 我在可滚动的UIWebView上显示键盘,所以我的麻烦部分来自当键盘停靠时具有缩小的UIWebview,并且在脱离连接时具有(大部分)全屏webview。 我遇到的主要问题是,新的UIKeyboardWillChangeFrameNotification和UIKeyboardDidChangeFrameNotification通知与以前的API相比已经退步了,而且垃圾数据使得在许多情况下几乎不可能理解键盘真的在做什么。 是否可以识别下列任何键盘行为,而无需严格检查返回通知的开始/结束帧? 键盘取消 键盘docker 键盘分割/未分割 未锁住的键盘显示 未locking的键盘隐藏 当键盘脱离时,视图旋转 我已经提出了一些抽象来识别停靠或离屏的帧,但即使如此,我的代码变得非常难以pipe理。 如果您find了更好的方法来做到这一点,请回答或评论。 我希望我在这里错过了一些东西。 谢谢。

Swift – 分段控制 – 切换多个视图

到目前为止,我仍然无法确定如何在一个视图控制器中切换多个视图。 我的故事板是这样的。 现在我想在视图控制器中embedded两个视图。 我的代码分段控制到目前为止在一个视图控制器中切换两个视图。 import UIKit class PopularHistoryViewController: UIViewController { @IBOutlet weak var segmentedControl: UISegmentedControl! @IBAction func indexChanged(sender: UISegmentedControl) { switch segmentedControl.selectedSegmentIndex { case 0: NSLog("Popular selected") //show popular view case 1: NSLog("History selected") //show history view default: break; } } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. […]

如何可靠地检测iOS 9上是否连接了外部键盘?

在iOS 9之前,确定外部键盘是否连接的最可靠的方法是侦听UIKeyboardWillShowNotification ,并将文本字段设置为第一个响应者,如本问题所述 。 使用虚拟键盘时会触发通知,但在使用外部键盘时不会触发。 但是现在这种行为已经在iOS 9中改变了。由于现在显示了新的键盘工具栏,因此在连接外部键盘时也会触发UIKeyboardWillShowNotification 。 还可以检测键盘高度,并判断是否显示较小的工具栏或较大的虚拟键盘。 然而这种方法是不可靠的,因为键盘的高度在各种testing版本之间已经改变,并且不能随着时间的推移而保持不变。 有没有更可靠的方法可以用于iOS 9?

在iOS中更改应用程序语言,无需重新启动应用程序

我似乎有些应用程序可以在应用程序内部更改语言,而无需重新启动应用程序,我想知道它们是如何实现的。 例如,对于我们使用NSLocalizedString ,我知道可以在运行时在main.m设置语言,当你的AppDelegate没有初始化,但是一旦它被初始化(特别是你的视图控制器被创build),改变它不会下次重启 [[NSUserDefaults standardUserDefaults] setObject:[NSMutableArray arrayWithObjects:language, nil] forKey:@"AppleLanguages"]; 任何人都知道如何在不重新启动应用程序的情况下完成这些dynamic语言更改?

clipsToBounds导致UIImage无法在iOS10和XCode 8中显示

我将我的项目切换到iOS 10和XCode 8的新testing版。在我使用的应用程序的所有三个方面: imageView.layer.cornerRadius = imageView.frame.size.width/2 imageView.clipsToBounds = true 关联的图像根本不显示。 我试图清理项目以及生成文件夹,重新启动设备,尝试各种模拟器,重新添加imageView,以编程方式设置相关的UIImage而不是从资产中select一个。 无论masksToBounds是true还是false移除clipsToBounds行都会显示矩形图像。 如何在XCode8 / iOS10中制作圆形图像? 编辑:项目是Swift 2.x,但尚未更新为Swift 3.0语法。

我应该在这里使用awakeFromNib或initWithCoder吗?

我最初的视图控制器被加载,我需要一个NSArray被初始化,我应该照顾在awakeFromNib方法或initWithCoder:方法? awakeFromNib似乎工作更好,因为我不需要返回任何东西,但它的工作原理是以前使用的笔尖文件是正确的? 我不想用一种很快就会破的方法。 并将initWithCoder:只是看起来像: – (id)initWithCoder:(NSCoder *)decoder { if (self = [super initWithCoder:decoder]) { self.articles = [[NSMutableArray alloc] init]; } return self; }

UITableView单元格的dynamic高度问题(Swift)

可变长度的dynamic文本被注入tableview单元格标签。 为了使tableview单元的高度dynamicresize,我已经在viewDidLoad()实现了: self.tableView.estimatedRowHeight = 88.0 self.tableView.rowHeight = UITableViewAutomaticDimension 这适用于尚未滚动的单元格(因为在滚动到单元格时调用UITableViewAutomaticDimention ),但不适用于在加载数据表格时初始呈现在屏幕上的单元格。 我试图简单地重新加载数据(如许多其他资源中所build议的): self.tableView.reloadData() 在viewDidAppear()和viewWillAppear()都是无济于事。 我迷路了..有谁知道如何让Xcode呈现最初加载在屏幕上的单元格的dynamic高度? 请让我知道,如果有更好的替代方法。

iPhone无法支持开发

我最近重新安装了OSX。 把我所有的证书等都拿走了,但是我终于回来了。 但是,当试图在两台iPhone手机中的任何一台上安装应用程序时,他们都会说: 软件版本:4.2.1(8C148)| XCode无法find安装此版本的软件映像。 | 无法支持发展。 到底是怎么回事? 两个iPhone在iTunes中列出自己是最新的,iOS开发者中心只列出4.2作为可用的SDK。 编辑:我有一个付费会员,我最近有两个这些设备上安装的testing应用程序。 更新:我从供应门户中删除了所有3(包括2)我的设备,并从组织者删除,closuresXCode,分离设备,重新启动,插入设备,没有运气。

iOS中的自定义图像蒙版

我有掩盖图像的问题。 我做游戏“拼图”,必须制作自定义图像。 我发现并尝试了2种自定义裁剪方式: 使用CALayer.mask属性。 使用UIImage.mask属性。 在第一个选项我创build我的自定义path,然后将其分配给CAShapeLayer.path属性,然后将CAShapeLayer分配给CALayer.mask属性。 最后,我有自定义裁剪图像。 在第二个选项中,我首先使用CGImageMaskCreate()方法(我使用以前创build的黑色面具图像拼图),然后CGContextClipToMask() 。 在任何一个选项我都有性能问题(主要是当我裁剪图像成16个谜题,并在屏幕上拖动)。 有没有其他的方法来自定义的方式来裁剪图像。 (我不知道如何解决性能问题)。 提前致谢。

用于iOS的富文本编辑器库

有人知道iOS平台的富文本编辑器(如Mac OS X的NSTextView )库吗?