Tag: ios

如何获取UIWebView中所选文本的坐标(CGRect)?

我有简单的UIWebView与加载的HTML。 我想显示指向选定文本的PopoverView。 我可以得到UIMenuController的menuFrame并使用它的矩形,但是结果并不像我所需要的那样精确。 我可以计算屏幕大小,并得到menuFrame矩形,然后我可以假设哪里可以findselect,但我想知道在哪里select的文本。 一般可能吗?

通过RestKit将JSON的本地NSString反序列化为对象(无networking下载)

是否有可能通过RestKit反序列化JSON的NSString成对象? 我在这里检查了API列表,找不到可用于此目的的东西。 我能find的最接近的是parsinginput后返回NSDictionary的各种parsing器类。 我假设RestKit在下载响应之后使用这些parsing器,所以我认为这个function在RestKit中可用,但不公开公开。 如果我没有遗漏任何东西,而且这个function没有暴露出来,还有什么替代方法呢? 两个明显的看起来不太有希望:得到结果的NSDictionary并尝试反序列化自己(有效地重新实现RestKit)或尝试潜入RestKit源,看看是否可以以某种方式暴露(看起来乏味和容易出错)。 在此先感谢您的帮助。 PS:这个想法是反序列化的对象上的string属性实际上是另一组对象的JSON表示(从某种意义上说是embedded式JSON),并且在运行时按需进行反序列化。

iPhone上的Retina显示图像

可能重复: 如何适应iPhone 4的屏幕分辨率? 在iPhone应用程序中包含Retina显示图像的最佳方式是什么? iPhone 3G或更高分辨率图像的iPhone有问题吗?

如何从iOS中的本地或服务器URL播放video

如何从iOSurl或iOS中的本地文件播放.mp4或.movvideo?

我如何在Swift中设置UIWebView的“User-Agent”标题

我正在使用Swift的iOS应用程序的Xcode 6。 我有一个embedded式UIWebView的简单的ViewController。 你可以find下面的代码。 现在我想更改User-Agent HTTP标头。 我试图使用NSURLRequest的setValue方法,但它不起作用(请参阅未注释的行)。 有谁知道这是怎么做到的吗? import UIKit class WebViewController: UIViewController { @IBOutlet weak var webView: UIWebView! override func viewDidAppear(animated: Bool) { var url = NSURL(string: "https://www.samplepage.com") var request = NSMutableURLRequest(URL: url) // request.setValue("Custom-Agent", forHTTPHeaderField: "User-Agent") webView.loadRequest(request) } }

UITableView contentOffSet工作不正常

在viewWillAppear ,我添加了UISearchBar作为UITableView headerview。 加载视图时,我使用UITableView contentOffSet隐藏UINavigationBar下的UISearchbar 。 当用户拉下桌面时,search栏会显示。 添加headerview后,我使用下面的代码隐藏它。 self.tableView.contentOffset = CGPointMake(0, 40); //My searhbar height is 40 但有时contentOffSet不隐藏headerview。 什么可能是错误的。

除了“tock”以外,还有其他iOS系统的声音吗?

我已经在我的第一个iPhone应用程序上实现了另一个键盘。 我想按下button时播放声音。 当按下标准键盘时的默认点击声音会很好,但我不知道如何得到这个声音。 在这个答案中,我发现了如何发挥'tock'的声音: 播放系统声音而不导入自己的 我得到这个工作很容易,但它是一个非常响亮的声音。 我已经search堆栈溢出和Xcode的帮助可用的iOS系统的声音,而不是'tock',我找不到它们。 是否有其他内置的声音,甚至可能是默认的键盘声音,我可以使用?

创build一个iOS / OS X跨平台类

我读了很多有关为这两个系统创build一个跨平台库的问题。 每个答案都指向静态库作为解决scheme。 我不想结束一个静态库,我想创build一个iOS的方法和他们的对应的OS X的类。 -(void)createColor:(NSColor*); -(void)createColor:(UIColor*); 我遇到的第一个问题是,我无法find一种方法来使用仅在特定系统中可用的类。 所以,例如,我怎么能pipe理一个在iOS中与UIColor和OS X中的NSColor一起使用的NSColor ? 如果我为iOS创build项目,当我查看Foundation.h我无法在标题列表中findNSColor.h 。 我想用TARGET_OS_MAC和TARGET_OS_IPHONE定义来区分这两个系统…我走对了吗? 编辑添加更多信息: 目前我有两个目标:iOSTestApp和OSxTestApp。 对于这些目标,我已经根据系统包含了所需的框架。 使用TARGET_OS_MAC和TARGET_OS_IPHONE仅在selectOSXTestApp作为活动目标时才起作用。 当我selectiOSAppTest时,Xcode返回OS X数据types的错误(即NSColor ) 这里是产生这些错误的代码的一个例子: #if TARGET_OS_MAC -(void)createColor:(NSColor*)color; #elif TARGET_OS_IPHONE -(void)createColor:(UIColor*)color; #endif 而如果我反转它的工作定义…这里产生这些错误的代码的一个例子: #if TARGET_OS_IPHONE -(void)createColor:(UIColor*)color; #elif TARGET_OS_MAC -(void)createColor:(NSColor*)color; #endif

如何清除充满表情字符的字体caching?

我正在开发iPhone的键盘扩展。 有一个emoji屏幕与苹果自己的表情符号键盘相似,在UICollectionView中显示了大约800个表情符号字符。 当这个表情符号UIScrollView滚动内存使用增加,不下降。 我正在重新使用单元格,并且在显示800倍的单个表情符号字符进行testing时,在滚动过程中内存不会增加。 使用工具,我发现我的代码中没有内存泄漏,但似乎表情符号字形被caching,根据字体大小可能需要大约10-30MB的内存(研究表明它们实际上是PNG)。 键盘扩展可以使用less量内存,然后才能杀死。 有没有办法清除该字体caching? 编辑 添加代码示例以重现该问题: let data = Array("😄😊☺️😉😍😘😚😗😙😜😝😛😳😁😔😌😒😞😣😢😂😭😪😥😰😅😓😩😫😨😱😠😡😤😖😆😋😷😎😴😵😲😟😦😧😈👿😮😬😐😕😯😶😇😏😑👲👳👮👷💂👶👦👧👨👩👴👵👱👼👸😺😸😻😽😼🙀😿😹😾👹👺🙈🙉🙊💀👽💩🔥✨🌟💫💥💢💦💧💤💨👂👀👃👅👄👍👎👌👊✊✌️👋✋👐👆👇👉👈🙌🙏☝️👏💪🚶🏃💃👫👪👬👭💏💑👯🙆🙅💁🙋💆💇💅👰🙎🙍🙇🐶🐺🐱🐭🐹🐰🐸🐯🐨🐻🐷🐽🐮🐗🐵🐒🐴🐑🐘🐼🐧🐦🐤🐥🐣🐔🐍🐢🐛🐝🐜🐞🐌🐙🐚🐠🐟🐬🐳🐋🐄🐏🐀🐃🐅🐇🐉🐎🐐🐓🐕🐖🐁🐂🐲🐡🐊🐫🐪🐆🐈🐩🐾💐🌸🌷🍀🌹🌻🌺🍁🍃🍂🌿🌾🍄🌵🌴🌲🌳🌰🌱🌼🌐🌞🌝🌚🌑🌒🌓🌔🌕🌖🌗🌘🌜🌛🌙🌍🌎🌏🌋🌌🌠⭐️☀️⛅️☁️⚡️☔️❄️⛄️🌀🌁🌈🌊☕️🍵🍶🍼🍺🍻🍸🍹🍷🍴🍕🍔🍟🍗🍖🍝🍛🍤🍱🍣🍥🍙🍘🍚🍜🍲🍢🍡🍳🍞🍩🍮🍦🍨🍧🎂🍰🍪🍫🍬🍭🍯🍎🍏🍊🍋🍒🍇🍉🍓🍑🍈🍌🍐🍍🍠🍆🍅🌽🎍💝🎎🎒🎓🎏🎆🎇🎐🎑🎃👻🎅🎄🎁🎋🎉🎊🎈🎌🔮💛💙💜💚❤️💔💗💓💕💖💞💘💌💋💍💎👑👒👟👞👡👠👢👕👔👚👗🎽👖👘👙💼👜👝👛👓🎀🌂💄📚📖🔬🔭📰🎨🎬🎩🎪🎭🎤🎧🎼🎵🎶🎹🎻🎺🎷🎸👾🎮🃏🎴🀄️🎲🎯🏈🏀⚽️⚾️🎾🎱🏉🎳⛳️🚵🚴🏁🏇🏆🎿🏂🏊🏄🎣").map {String($0)} class CollectionViewTestController: UICollectionViewController { override func viewDidLoad() { collectionView?.registerClass(Cell.self, forCellWithReuseIdentifier: cellId) } override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return data.count } override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) […]

iOS – UITextView lineSpacing使光标高度不一样

我在我的UITextview使用NSMutableParagraphStyle添加每行文本之间的行空间。 当我在textview中键入内容时,光标高度是正常的。 但是当我将光标位置移动到第二行(而不是最后一行)上的文本时,光标高度变得越来越大。 我应该怎么做才能使光标高度正常在文本的每一行? 这是我目前使用的代码: NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lineSpacing = 30.; textView.font = [UIFont fontWithName:@"Helvetica" size:16]; textView.attributedText = [[NSAttributedString alloc] initWithString:@"My Text" attributes:@{NSParagraphStyleAttributeName : paragraphStyle}];