小编Nit*_*ish的帖子

UILabel - 作为文本和链接的字符串

我有一个UILabel来自服务器的文本.一些文本将被标识为链接,并且在触摸这些链接时应该执行一些操作.例如

NSString*str = @"我的电话号码是645-345-2345,我的地址是xyz ";

这是完整的文本UILabel.我只有一个UILabel用于显示此文本(文本是动态的.我只是举了一个例子.).点击这些链接后,我需要执行操作,例如导航到某个不同的屏幕或拨打电话.
我知道我可以在OHAttributedLabel的帮助下显示这样的文字.链接可以显示如下:

[label1 addCustomLink:[NSURL URLWithString:@"http://www.foodreporter.net"] inRange:[txt rangeOfString:someString]];  
Run Code Online (Sandbox Code Playgroud)

但我想知道如何让这些文本链接执行某些操作,如导航到不同的屏幕或拨打电话.
如果需要更多解释,请与我们联系.

iphone nsstring uilabel ios

71
推荐指数
4
解决办法
6万
查看次数

UITextView文本不是从顶部开始的

我有一个UITextView.我希望它的文本从顶部开始,但我不是从顶部开始.请看看我的代码:

UITextView *myTextView = [[UITextView alloc] init];
myTextView.frame = rect;
myTextView.editable = NO;
myTextView.font = [UIFont fontWithName:@"Helvetica" size:MAIN_FONT_SIZE];
myTextView.backgroundColor = [UIColor clearColor];
myTextView.text = sourceNode.label;
myTextView.dataDetectorTypes = UIDataDetectorTypeAll;
[cell.contentView addSubview:myTextView];
[myTextView sizeToFit];
[self alignTextToTopTextView:myTextView]; 
Run Code Online (Sandbox Code Playgroud)

alignTextToTopTextView:

-(void)alignTextToTopTextView :(UITextView*)textView{

    CGRect frame = textView.frame;
    frame.size.height = textView.contentSize.height;
    textView.frame = frame;
} 
Run Code Online (Sandbox Code Playgroud)

请参阅下面的屏幕截图.

UITextView 在右边.

在此输入图像描述

iphone uitextview

45
推荐指数
4
解决办法
4万
查看次数

意外的机器代码 - 这会影响应用程序批准吗?

这与这个问题密切相关,但它没有任何解决方案.
在将构建上载到iTunes Connect时,我收到以下消息:

我们发现您最近交付的"Hurdal IL"存在一个或多个问题.您的投放成功,但您可能希望在下次投放时更正以下问题:

意外的机器代码 - 您的上载包含bitcode和本机机器代码.当您提供bitcode时,也不必包含机器代码.要减小上传的大小,请使用Xcode 7.3或更高版本,或任何其他删除机器代码的工具链.

纠正问题后,您可以使用Xcode或Application Loader将新二进制文件上传到iTunes Connect.

  1. 分辨率是多少?
  2. 如果上传此版本,是否会影响应用批准?

iphone xcode itunesconnect ios

29
推荐指数
1
解决办法
5376
查看次数

如果通过Safari中的网页安装,如何打开应用程序?

我们有一个应用程序,让我们调用它:xyz_app我有一个自定义URL方案的形式xyz_app://.

我们正在向用户发送电子邮件.

当他点击链接时,他想要去应用程序,如果没有安装应用程序,我们的移动网站.

所以从电子邮件中的链接,如何确保如果未安装该应用程序,该链接应该将用户发送到移动网站?

html javascript objective-c ios

18
推荐指数
1
解决办法
1万
查看次数

在iOS 9中设置NSAllowsArbitraryLoads - Apple会拒绝该应用吗?

我突然收到一条消息iOS 9:

无法加载资源,因为App Transport Security策略要求使用安全连接

搜索了一下,发现将NSAllowsArbitraryLoads设置为YES修复了实际有效的问题.
但是我也发现 Apple可能会拒绝该应用程序.虽然在 App Transport Security Technote中有说明

NSAllowsArbitraryLoads

一个布尔值,用于禁用NSExceptionDomains字典中未列出的任何域的App Transport Security.列出的域使用为该域指定的设置.

但由于这是目前唯一可行的解​​决方案,而且Apple 可能会也可能不会拒绝App,只是想在发布前确认.

更新:Apple通过了审核,我的应用现在正在使用此设置:)

info.plist ios ios9

16
推荐指数
1
解决办法
2万
查看次数

Xcode 8 Storyboard - 更新现有的故事板.应用重新发布需要吗?

我刚刚更新到Xcode 8.在选择底部的任何设备时,将重置约束.由于视图现在不适应屏幕.在此之前,我正在使用wAny hAny窗口并且还提供了约束.这些约束现在甚至存在,但需要改变.
我假设我看到的唯一方法是更新所有设备的框架和约束(想知道它是一个恩惠或诅咒).但由于单个约束对于所有设备都是相同的,考虑到它必须在代码中使用,它的价值将如何保留.
如何更新现有的故事板以适应Xcode 8
话虽如此,故事板需要重新构建,这意味着应用程序需要再次发布,因为当前版本会给出布局问题iOS 10.
我的理由足够有效吗?

xcode storyboard ios autolayout ios10

16
推荐指数
1
解决办法
3967
查看次数

每次应用变为活动状态时显示启动画面

我希望每次应用变为活动时都会显示启动画面.我创建了一个showSplash我调用的函数applicationDidBecomeActive:

-(void)showSplash
{
    UIImageView *splashScreen = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"Default.png"]];
    [self.window.rootViewController.view addSubview: splashScreen];
    [self.window makeKeyAndVisible];
    NSLog(@"begin splash");
    [UIView animateWithDuration: 4.2
                          delay: 0.5
                        options: UIViewAnimationOptionCurveEaseOut
                     animations: ^{  
                         splashScreen.alpha = 0.0;
                     }
                     completion: ^ (BOOL finished) {
                         [splashScreen removeFromSuperview];
                         NSLog(@"end splash");
                     }
     ];
}  
Run Code Online (Sandbox Code Playgroud)

这就是我调用这个函数的方式:

- (void)applicationDidBecomeActive:(UIApplication *)application {
[self showSplash];
}
Run Code Online (Sandbox Code Playgroud)

但是没有闪屏.请指正.

iphone splash-screen ios

15
推荐指数
2
解决办法
3354
查看次数

图像下载后更新单元格高度

我正在显示一些文本和图像UITableView.首先下载图像.从图像下载之前,我不知道图像的大小,所以我最初放了UIImageView一些固定的大小.当下载图像时,我调整了大小UIImageView.

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

// Download image

    dispatch_async(dispatch_get_main_queue(), ^{

    // UIImageView resizing  
    });  
});
Run Code Online (Sandbox Code Playgroud)

所有这些都发生在cellForRowAtIndexPath.
我在这里
遇到的问题是:1.如何更新细胞的高度?考虑到单个单元格中可能存在许多图像.所以我需要在下载时更改底部图像的位置.
2.我尝试使用UITableView beginUpdatesendUpdates,但滚动到单元格的顶部,给用户带来糟糕的体验.

这就是uload在reloadData上的样子.有5个图像需要下载:UITableView reloadData之后的UI体验

uitableview uiimageview grand-central-dispatch ios

15
推荐指数
1
解决办法
7710
查看次数

UIAlertView可以轻松判断是否选择了取消按钮

我知道我以前做过这件事,但我再说不出来了.

我用什么方法来查看是否按下了取消按钮.我不想根据按钮索引来做.有一种方法可以做到这一点,例如:

[alertView isCancelIndex:index];
Run Code Online (Sandbox Code Playgroud)

谁知道?

iphone uialertview ipad ios

14
推荐指数
2
解决办法
2万
查看次数

UIKeyboardWillShowNotification为快速键盘返回错误的帧

我正在使用UIKeyboardWillShowNotificationUIKeyboardWillHideNotification处理键盘.
这是键盘显示时调用的函数:

-(void) keyboardWillShow:(NSNotification *)note
{
    CGRect keyboardBounds;
    //[[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds];
    NSValue* keyboardFrameBegin = [note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey];
    keyboardBounds = [keyboardFrameBegin CGRectValue];  
}  
Run Code Online (Sandbox Code Playgroud)

我得到keyboardBounds =(0,524,320,44),我使用的是5s.不知道为什么origin.y来了524(应该在300附近)和身高44!我也试过评论说.键盘绑定的两种方式都是44.此问题仅适用于快速键盘.
此问题相同

iphone ios swift-keyboard

14
推荐指数
1
解决办法
2040
查看次数