标签: ios7

iOS 7 - navigationController正在设置我的UIScrollView的contentInset和ContentOffset

我有一个UIScrollView(实际上是一个UICollectionView,但这可能没关系).当它出现在IOS 7中时,导航控制器将其contentInset和contentOffset设置为我不想要的值.它似乎正在尝试调整状态栏和导航栏.我非常喜欢让他们独自一人.我已经通过覆盖contentInset和contentOffset的getter和setter方法来解决这个问题,并使用一个标志来告诉对象它是否应该接受一个集合.但有更好的方法吗?

uiscrollview uinavigationcontroller ios ios7

69
推荐指数
3
解决办法
5万
查看次数

如何在UILabel中找到文本子字符串的CGRect?

对于给定的NSRange,我想找到一个CGRectUILabel对应的的字形NSRange.例如,我想CGRect在"快速的棕色狐狸跳过懒狗"这句话中找到包含"狗"字样的字样.

问题的视觉描述

诀窍是,UILabel有多行,而文本确实attributedText如此,所以找到字符串的确切位置有点困难.

我想在我的UILabel子类上写的方法看起来像这样:

 - (CGRect)rectForSubstringWithRange:(NSRange)range;
Run Code Online (Sandbox Code Playgroud)

细节,对于有兴趣的人:

我的目标是能够创建一个具有UILabel的确切外观和位置的新UILabel,然后我可以制作动画.我已经把剩下的事情搞清楚了,但特别是这一步让我暂时退缩了.

到目前为止我尝试解决问题的方法是:

  • 我希望在iOS 7中,有一些Text Kit可以解决这个问题,但是我用Text Kit看到的大多数例子都集中在UITextViewUITextField而不是UILabel.
  • 我在这里看到了有关Stack Overflow的另一个问题,它承诺解决问题,但是已接受的答案已经超过两年了,并且代码在属性文本中表现不佳.

我敢打赌,对此的正确答案涉及以下其中一项:

  • 使用标准的Text Kit方法在一行代码中解决此问题.我打赌它会涉及NSLayoutManagertextContainerForGlyphAtIndex:effectiveRange
  • 编写一个复杂的方法,将UILabel分成几行,并在一行中找到一个字形的矩形,可能使用Core Text方法.我目前最好的选择是拆开@mattt优秀的TTTAttributedLabel,它有一个方法可以在一个点上找到一个字形 - 如果我将其反转,并找到一个可能有效的字形点.

更新:这是一个github要点,我已经尝试了迄今为止解决这个问题的三件事:https://gist.github.com/bryanjclark/7036101

uilabel ios ios7 textkit

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

iOS 7中导航栏的高度是多少?

我刚刚使用默认的Master Details模板创建了一个简单的iOS 7应用程序.

MasterViewController.m,viewDidAppear方法,我登录了

self.navigationController.navigationBar.frame.size.height
self.navigationController.navigationBar.frame.origin.y
Run Code Online (Sandbox Code Playgroud)

并因此收到44和20.这看起来很奇怪,因为根据我的阅读,iOS 7中的导航栏应该是64点高度并从0点开始,因此它位于状态栏下方.我读到的是

1)iOS 7 UI过渡指南

因为状态栏是透明的,所以它后面的视图显示出来

2)在导航栏中使用背景图像

如果您的应用使用自定义图像作为条形图的背景,则需要提供"更高"的图像,使其向上延伸到状态栏后面.导航栏的高度从44点(88像素)更改为64点(128像素).

height frame statusbar navigationbar ios7

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

有没有办法让iOS 7中的UITableView单元格在分隔符中没有换行符?

我注意到在iOS 7中,UITableViewCells在iOS 6没有的单元格的分隔符中有换行符.有没有办法摆脱这个换行符?将分隔符更改为none,然后使用分隔符的颜色制作UIViews仍会导致白色分隔符无论如何都会发生.

uitableview ios7

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

UIButton在iOS7中没有显示突出显示

我看过很多关于类似事情的帖子,但没有一个匹配或解决这个问题.从iOS 7开始,每当我添加UIButton到一个UITableViewCell或甚至是一个footerview它都工作"很好",这意味着它接收目标动作,但它没有显示通常在点击时发生的小亮点UIButton.它使UI看起来很时髦而不显示按钮对触摸的反应.

我很确定这是iOS7中的一个错误,但是有人找到了解决方案或者可以帮我找到一个:)

编辑:我忘了提到它会突出显示我是否长按按钮,但如果只是添加到标准视图就不会像它那样快速点击.

码:

创建按钮:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    button.titleLabel.font = [UIFont systemFontOfSize:14];
    button.titleLabel.textColor = [UIColor blueColor];
    [button setTitle:@"Testing" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchDown];
    button.frame = CGRectMake(0, 0, self.view.frame.size.width/2, 40);
Run Code Online (Sandbox Code Playgroud)

我测试的东西:

//删除手势识别器UITableView,以防他们挡路.

for (UIGestureRecognizer *recognizer in self.tableView.gestureRecognizers) {
   recognizer.enabled = NO;
}
Run Code Online (Sandbox Code Playgroud)

//从Cell中删除手势

for (UIGestureRecognizer *recognizer in self.contentView.gestureRecognizers) {
       recognizer.enabled = NO;
    }
Run Code Online (Sandbox Code Playgroud)

//这显示了轻微的触摸,但这不是理想的外观

button.showsTouchWhenHighlighted = YES;
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitableview ios ios7

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

iOS7中的UIAlertView addSubview

添加一些控件UIAlertView已在iOS7中使用addSubview方法弃用.据我所知,Apple承诺增加contentView财产.

iOS 7现已发布,我发现此属性未添加.这就是为什么我搜索一些能够为此alertView添加进度条的自定义解决方案.例如类似于TSAlertView的东西,但更适合在iOS 7中使用.

objective-c uialertview ios ios7

67
推荐指数
6
解决办法
9万
查看次数

从iOS7中的UIActivityViewController呈现时,无法在邮件编辑器中设置"发送"和"取消"按钮的文本颜色

我正在使用UIActivityViewController在iOS7中共享项目.当我点击"邮件"选项时,它会弹出邮件编辑器,但导航栏上的"取消"和"发送"按钮以及导航栏本身都是蓝色的,这使得它很难阅读,所以我想改变它们的颜色.它在iOS6中工作,但在iOS7中不工作.

我试过了

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], UITextAttributeTextColor, [UIColor clearColor], UITextAttributeTextShadowColor, nil] forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

哪个适用于iOS6,我试过了

[[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
Run Code Online (Sandbox Code Playgroud)

这会导致颜色在第一次运行应用程序时闪烁红色,然后立即切换回蓝色.

uiactivityviewcontroller ios7

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

分析iOS中的Assets.car文件

我试图减少目前48MB的iOS应用程序的整体大小.当我分析子文件夹时,我发现Assets.car占用了41MB.我无法打开并看到哪一个占用了那么多空间.

我找不到有关Assets.car文件的任何好文档.有人可以建议如何查看内容吗?

iphone ios ios6 ios7

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

核心数据和iOS 7:持久性存储的不同行为

我正准备更新基于Core Data的应用程序以修复iOS 7.我使用Xcode 5和iOS 7 SDK GM.但是我意识到持久性存储的不同行为(即a UIManagedDocument):在iOS 7构建之前,persistentStore文档文件夹中只有一个文件(有时还有第二个文件persistentStore-journal).

在iOS 7构建(干净安装)中,持久性存储现在有三个文件:

  • persistentStore
  • persistentStore-wal
  • persistentStore-shm

Apple现在默认将日志模式更改为WAL吗?我想知道我的应用程序是否有影响(想想用户如何从上一版本更新)?是否最好禁用WAL - 如果是这样,我怎么能用iOS 7/UIManagedDocument

sqlite core-data ios uimanageddocument ios7

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

为什么UIScrollView在ios 6和ios 7中从顶部留出空间

在此输入图像描述

在此输入图像描述

我已经关闭了Autolayout,并且viewcontroller嵌入在导航控制器中.我正在使用Xcode 5,Storyboard.

我不明白为什么它会从顶部留下空间.实际上在故事板中我把我的标签正好放在导航栏下方.但是当我在模拟器上运行它然后它从顶部离开空间.

解决这个问题的一种黑客方法

-(void)viewWillLayoutSubviews
{
   self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800);

   self.scrollViewMain.contentSize = CGSizeMake(320, 800);
}
Run Code Online (Sandbox Code Playgroud)

但我错过了一些非常简单的方法.

iphone objective-c uiscrollview ios6 ios7

66
推荐指数
5
解决办法
3万
查看次数