Questions tagged «uikit»

UIKit(不要与前端框架GetUIKit混淆)是负责大多数iOS用户界面的面向对象框架。

9
UITextField边框颜色
我真的非常希望将自己的颜色设置为UITextField边框。但是到目前为止,我仅能找到如何更改边框线样式的方法。 我已经使用background属性以这种方式设置背景颜色: self.textField.backgroundColor = textFieldColor; 但是我也必须更改UITextField边框的颜色。我的问题是关于如何更改边框颜色。

4
UIBarButtonItem图像应该有多大?
我正在寻找创建自己的自定义“按日期排序”和“按数字排序”按钮,我打算将其作为右键放置在导航栏中。 我的图像应该有多大才能适当地填充空间-UIBarItem文档页面未列出有关图像尺寸的任何信息。


30
UITableViewCell Separator在iOS7中消失了
我UITableView仅在iOS 7中有一些奇怪的问题。 UITableViewCellSeparator在第一行上方和最后一行下方消失。有时在选择行或某些滚动操作之后,它会出现。 在我的情况下tableView是从Storyboardwith UITableViewStylePlain样式加载的。问题肯定不在UITableViewCellSeparatorStyle,默认情况下不会更改UITableViewCellSeparatorStyleSingleLine。 正如我在Apple Dev论坛(此处和此处)所读的,其他人也有这种问题,并且找到了一些解决方法,例如: Workaround: disable the default selection and recreate the behaviour in a method trigged by a tapGestureRecognizer. 但是我仍在寻找这种分隔符奇怪行为的原因。 有任何想法吗? 更新:正如我在XCode 5.1 DP和iOS 7.1 beta中所看到的,Apple试图解决此问题。现在,有时需要刷新,但有时在创建表视图之后,有时会在最后一行下方显示所需的分隔符。

10
当您的应用处于打开状态且在前台时,显示股票iOS通知横幅吗?
当Apple的官方iOS Messages应用程序打开并在前台运行时,来自其他联系人的新消息将触发原始的iOS通知股票提示横幅。参见下图。 在App Store的第三方应用程序中有可能吗?当您的应用处于打开状态且处于前台时,您的应用的本地通知和/或推送通知? 测试我的应用程序时,会收到通知,但不会显示iOS警报UI。 但是,这种行为是出现在苹果的官方消息应用程序: 在本地和远程通知编程指南说: 当操作系统传递本地通知或远程通知并且目标应用未在前台运行时,它可以通过警报,图标徽章编号或声音向用户显示通知。 如果在传递通知时应用程序在前台运行,则应用程序委托会接收本地或远程通知。 是的,我们可以在前台接收通知数据。但是我看不到呈现本机iOS通知警报UI的方法。 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { // I know we still receive the notification `userInfo` payload in the foreground. // This question is about displaying the stock iOS notification alert UI. // Yes, one *could* use a 3rd party toast alert …

5
iOS启动后台线程
我的iOS设备中有一个小sqlitedb。当用户按下按钮时,我从sqlite获取数据并将其显示给用户。 我要在后台线程中执行此操作(不阻塞UI主线程)。我这样做- [self performSelectorInBackground:@selector(getResultSetFromDB:) withObject:docids]; 经过提取和一些处理后,我需要更新UI。但是由于(作为一种好习惯),我们不应该从后台线程执行UI更新。我selector这样在主线程上调用- [self performSelectorOnMainThread:@selector(showResults) withObject:nil waitUntilDone:NO]; 但是我的应用程序在第一步中崩溃了。即启动后台线程。这不是在iOS中启动后台线程的方法吗? 更新1:在[self performSelectorInBackground....获得此stacktrace之后,再也没有任何信息- 更新2:我什至尝试启动这样的后台线程- [NSThread detachNewThreadSelector:@selector(getResultSetFromDB:) toTarget:self withObject:docids];但仍然得到相同的stacktrace。 就像我澄清的那样,当我在主线程上执行此操作时,一切运行顺利... 更新3这是我试图从后台运行的方法 - (void)getResultSetFromDB:(NSMutableArray *)toProceessDocids { SpotMain *mirror = [[SpotMain alloc] init]; NSMutableArray *filteredDocids = toProceessDocids; if(![gMediaBucket isEqualToString:@""]) filteredDocids = [mirror FetchDocIdsForMediaBucketWithDocID:filteredDocids mBucket:gMediaBucket numRes:-1]; if(![gMediaType isEqualToString:@""]) filteredDocids = [mirror FetchDocIdsForMediaType:filteredDocids mediaType:gMediaType numRes:-1]; …

2
消除UIImage imageNamed:FUD
编辑2014年2月:请注意,这个问题可以追溯到iOS 2.0!从那时起,图像要求和处理方式发生了很大变化。视网膜使图像更大,加载图像稍微复杂一些。借助对iPad和视网膜图像的内置支持,您当然应该在代码中使用ImageNamed。 我看到很多人都说imageNamed不好,但同样也有很多人说性能很好-特别是在渲染UITableViews时。例如,请参阅此SO问题或在iPhoneDeveloperTips.com上查看此文章。 UIImage的imageNamed方法曾经泄漏,因此最好避免使用,但在最新版本中已修复。我想更好地了解缓存算法,以便对我可以信任系统缓存图像的位置以及需要自己做些什么的地方做出合理的决定。我当前的基本理解是,这是一个简单NSMutableDictionary的UIImages通过文件名引用。它变得更大,内存用尽时它变得更小。 例如,是否有人可以确定后面的图像缓存imageNamed没有响应didReceiveMemoryWarning?苹果似乎不会这样做。 如果您对缓存算法有任何了解,请在此处发布。



16
如何解决:iOS 13.0中不推荐使用“ keyWindow”
我正在将Core Data和Cloud Kit一起使用,因此必须在应用程序启动期间检查iCloud用户状态。如果出现问题,我想向用户发出一个对话框UIApplication.shared.keyWindow?.rootViewController?.present(...),直到现在我还是这样做。 在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我: iOS 13.0中已弃用“ keyWindow”:不应用于支持多个场景的应用程序,因为它会返回所有已连接场景的关键窗口 我该如何显示对话框?

11
检测表已在iOS 13上关闭
在iOS 13之前,提供了用于覆盖整个屏幕的视图控制器。并且,在关闭后,将viewDidAppear执行父视图控制器功能。 现在,iOS 13默认将表单显示为视图控制器,这意味着卡将部分覆盖基础视图控制器,这意味着viewDidAppear不会被调用,因为父视图控制器从未真正消失过。 有没有一种方法可以检测到所显示的视图控制器工作表已被解雇?我可以在父视图控制器中重写某些其他功能,而不是使用某种委托?


2
clipsToBounds如何工作?
我想知道如何使用该UIView物业clipsToBounds。 官方文档说: clipsToBounds 属性 一个布尔值,该值确定子视图是否限于视图的边界。 讨论 将此值设置为YES会导致子视图被裁剪到接收器的边界。如果设置为NO,则不会裁剪其帧超出接收者可见范围的子视图。默认值为NO。 但是我不清楚这到底意味着什么。我应该如何使用clipsToBounds?将此属性设置为YES完全会带来什么后果?还是要NO?
110 ios  uiview  uikit  frame  bounds 

13
如何在iOS 13中的UISegmentedControl中更改细分的颜色?
A UISegmentedControl在iOS 13中具有新外观,并且现有代码更改分段控件的颜色不再像以前那样起作用。 在iOS 13之前,您可以设置tintColor和,以用于分段控件周围的边框,分段之间的线条以及所选分段的背景颜色。然后,您可以使用带有的前景色属性更改每个句段标题的颜色titleTextAttributes。 在iOS 13下,tintColor什么都不做。您可以设置分段控件backgroundColor以更改分段控件的整体颜色。但是我找不到任何方法来更改用作所选片段背景的颜色。设置文本属性仍然有效。我什至尝试设置标题的背景色,但这只会影响标题的背景,而不会影响所选片段的其余背景色。 简而言之,您如何修改UISegmentedControliOS 13中当前选定的段的背景颜色?是否有使用公共API的适当解决方案,而无需深入研究私有子视图结构? 在iOS 13中,没有针对UISegmentedControl或的新属性,UIControl并且这些更改UIView均不相关。

16
即使图像较小,如何使UITableViewCell的ImageView固定大小
我有一堆用于单元格图像视图的图像,它们都不大于50x50。例如40x50、50x32、20x37 ..... 加载表格视图时,文本不会对齐,因为图像的宽度会有所不同。另外,我希望小图像出现在中央而不是左侧。 这是我在“ cellForRowAtIndexPath”方法中尝试的代码 cell.imageView.autoresizingMask = ( UIViewAutoresizingNone ); cell.imageView.autoresizesSubviews = NO; cell.imageView.contentMode = UIViewContentModeCenter; cell.imageView.bounds = CGRectMake(0, 0, 50, 50); cell.imageView.frame = CGRectMake(0, 0, 50, 50); cell.imageView.image = [UIImage imageWithData: imageData]; 如您所见,我已经尝试了一些方法,但是没有一个起作用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.