所以我仍然是iOS开发的新手,我发现自己经常需要删除DerivedData或iPhone模拟器目录的内容,以便从我的代码中实际执行.在Xcode中清理与清空这些目录不一样,对吧?如果没有,是否有更简单的方法来做到这一点,而不是拖着Finder到达他们并清除它们?
我在a中使用自定义字体UITextField,该字体已secureTextEntry打开.当我在单元格中键入时,我会看到所选字体中的项目符号,但是当该字段失去焦点时,这些项目符号将恢复为系统标准字体.如果我再次点击该字段,它们将更改回我的字体,依此类推.
有没有办法可以确保他们继续显示自定义字体的项目符号,即使字段没有焦点?

我试图确定在发布a UIAccessibilityLayoutChangedNotification和a 时确切地发生了什么UIAccessibilityScreenChangedNotification.从我所看到的,我可以在任何地方互换使用它们,没有任何不同的事情发生.
Apple文档只是说LayoutChanged当(例如)一个元素被隐藏或显示时使用,并ScreenChanged在整个屏幕发生变化时使用,但我对他们提供这些信息时所做的事情感兴趣,以及我应该看到的不同之处当使用其中一个时.
任何人都可以清楚地解释两者之间的实施差异吗?
我有一个UIButton云,透明的黑色和白色.png文件的自定义,没有向下状态,只有一个图像.当用手敲击并握住手指时,它会变成深灰色.我试图把那个深灰色改成一点不那么压抑的东西.该按钮在视图中处于打开状态,而不是在选项卡栏,工具栏或导航控制器中.
我已经尝试过设置tintColor(文档有用地通知我只适用于'某些'类型的按钮,这些按钮没有任何指示).
我也尝试过改变我在Interface Builder中可以找到的与高亮颜色,默认状态等相关的所有内容.没有什么能够产生任何影响.
我甚至尝试将按钮自己的图像设置为其UIControlStateHighlighted状态,但即使这样,当我用手指按住它时也会出现深灰色叠加.
我怎样才能改变那种颜色?我已经在SO上查看了许多其他问题,并且无法找到适合我的解决方案.任何帮助将不胜感激!
编辑:我使用一个类别解决了问题,该类别UIImage添加了一个方法,用于CoreGraphics将颜色应用于提供UIImage.然后我将THAT图像设置为亮点,一切都很好.看起来有很多改变颜色的苹果应该让我们改变一下,但是我可以改变.
看似没有挑衅,我的层次结构的Products文件夹中的三个.app条目以红色列出.当我右键单击它时,Show In Finder显示为灰色,即使我先构建它们(构建成功,没有错误).
知道发生了什么事吗?
我正在设置以下UIView animateWithDuration:方法,目的是animationOn在程序中的其他位置设置我的BOOL以取消无限循环重复.我的印象completion是每次动画循环结束时都会调用该块,但事实并非如此.
是否completion在重复动画中调用了块?如果没有,是否有另一种方法可以在此方法之外停止此动画?
- (void) animateFirst: (UIButton *) button
{
button.transform = CGAffineTransformMakeScale(1.1, 1.1);
[UIView animateWithDuration: 0.4
delay: 0.0
options: UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat
animations: ^{
button.transform = CGAffineTransformIdentity;
} completion: ^(BOOL finished){
if (!animationOn) {
[UIView setAnimationRepeatCount: 0];
}
}];
}
Run Code Online (Sandbox Code Playgroud) core-animation objective-c uiviewanimation ios completion-block
我希望淡出滚动UITextView背景图像,类似于这个小例子顶部的渐变.

我正试图弄清楚如何使用CAGradientLayer和掩饰来实现这一点.当视图中的文本滚动(垂直)时,我需要文本在它到达视图框架之前变得透明,以给出它向上和向下淡出的幻觉.
有关如何实现这一目标的任何提示?
我正在使用VoiceOver,并且遇到了问题UICollectionView.我有一个带有十个按钮的初始屏幕,每个按钮链接到集合视图中的十个单元格之一.集合视图实际上是屏幕的完整大小,每个单元格都包含一个子视图控制器.这一切都可以在VoiceOver关闭时正常工作,但是当它打开时,激活集合中间的一个按钮总是会导致集合视图弹出到其第一个单元格,即使我没有点击第一个按钮.我认为这是因为VoiceOver"焦点"转到它看到的第一个元素(即第一个单元格).
我已尝试使用UIAccessibilityScreenChangedNotification和使用相同单元格的参数的布局相同,但它没有任何区别,它没有弹出我的必需元素,并且总是弹出到集合中的第一个单元格.
我在这里做错了什么?
我正在添加一个片段,这个被调用viewDidLayoutSubviews,如果VoiceOver关闭,它可以正常滚动.但是一旦VO开启,它就会中断.
if (self.initialIndexPath) {
[self.collectionView scrollToItemAtIndexPath:self.initialIndexPath atScrollPosition:UICollectionViewScrollPositionNone animated:NO];
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, [self.collectionView cellForItemAtIndexPath:self.initialIndexPath]);
}
Run Code Online (Sandbox Code Playgroud)
这对于实际聚焦于单元格非常合适,但VoiceOver部分完全被忽略,通知根本不会将焦点转移到正确的单元格,它始终是第一个单元格中的第一个元素.
还要注意,单元格本身不是accessibilityElements,不应该是,它们实现UIAccessibilityContainer协议,因此每个单元格的标题标签将是我希望焦点最终的位置.
所以,似乎heightForRowAtIndexPath之前被称为cellForRowAtIndexPath.我目前正在使用cellForRowAtIndexPath计算每个单元格的高度(它们是可变高度,使用其中UILabel包含不同数量的文本.
如果在计算它的方法之前调用设置高度的方法,我对如何正确设置单元格的高度感到困惑.
我已经创建了一个类别NSString,另一个UILabel,它们共同构成UILabel了合适的大小.问题是UITableViewCell包含这些标签的实例没有调整大小,因此标签悬挂在每个标签的末尾,与下面的标签重叠.
我知道我需要做的是让单元格的高度等于标签的高度,再加上一些额外的边距空间,但是我很困惑如何在计算标签高度之前设置高度.我可以在不使用的情况下设置身高heightForRowAtIndexPath吗?或者如果没有,我可以在其他地方计算出细胞的高度吗?我目前正在indexPath.row尝试实现这一目标,所以事先做这件事会很棘手.这是代码我的cellForRowAtIndexPath:
的cellForRowAtIndexPath
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
{
FQCustomCell *_customCell = [tableView dequeueReusableCellWithIdentifier: @"CustomCell"];
if (_customCell == nil) {
_customCell = [[FQCustomCell alloc] initWithStyle: UITableViewCellStyleValue1 reuseIdentifier: @"CustomCell"];
}
_customCell.myLabel.text = [[_loadedNames objectAtIndex: indexPath.row] name];
_customCell.myLabel.font = [UIFont fontWithName: @"FontA" size: 15.0f];
UIView *backView = [[UIView alloc] initWithFrame: …Run Code Online (Sandbox Code Playgroud) 我开始实现AutoLayout,我正在尝试拼凑我如何UITableViewCell正确连接我的一个自定义类.它通常有两个UILabel对象,一个在另一个上面,很像标准的字幕类.我希望这两个标签在单元格中居中,无论单元格的高度如何,两者之间都有给定的填充.
我假设我可以通过添加两个标签的高度,添加填充,然后从单元格的高度减去它,然后除以2来做到这一点.但是,我在语义上很好奇这是否正确,因为我将它们限制在单元格的顶部和底部,而不是相互之间.我在这里错过了一招吗?
其次,有时候第三个标签也堆叠在一起,所以三个标签相互叠加.在那种情况下,我需要两组填充等,但问题变得更加相关:我不应该将它们相互约束,而不是限制在单元格的顶部和底部吗?
所以,问题更多的是语义问题:如果我想在父视图中垂直约束多个元素,是否有比我上面建议的方法更聪明的方法呢?
(我目前正在代码中完全实现AutoLayout(使用Masonry),因为这个单元格没有XIB而且不在故事板中).
ios ×9
objective-c ×6
xcode ×2
autolayout ×1
cocoa-touch ×1
iphone ×1
tint ×1
uibutton ×1
uikit ×1
uitableview ×1
uitextfield ×1
voiceover ×1
xcode4 ×1