Questions tagged «uikit»

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

10
在2017年使用IBDesignable绘制点划线(而不是虚线!)
使用UIKit绘制虚线很容易。所以: CGFloat dashes[] = {4, 2}; [path setLineDash:dashes count:2 phase:0]; [path stroke]; 有没有办法画出真实的虚线? 有任何想法吗? 由于此问题确实存在很久,并且没有人提出完整的@IBDesignable解决方案,因此这里是... 希望它可以节省一些键入的时间。 @IBDesignable class DottedVertical: UIView { @IBInspectable var dotColor: UIColor = UIColor.etc @IBInspectable var lowerHalfOnly: Bool = false override func draw(_ rect: CGRect) { // say you want 8 dots, with perfect fenceposting: let totalCount …
86 ios  swift  uiview  uikit 

10
iPhone应用程序是否有现成的日历控件?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 改善这个问题 我正在为iPhone开发一个应用程序,它将显示即将发生的事件和过去的事件。我选择了一个列表视图,但是后来我意识到,日历(就像内置日历应用程序的“月”视图中显示的日历一样)将是最佳的选择。 但是,《 iPhone人机界面指南》仅提到了日期选择器,而不是日历,因此我认为没有类似的东西可用。真的吗?如果是这样,是否有人知道可以使用的第三方控件?(我可以自己写一个,但我宁愿准备一些东西,因为这是对原始项目计划的偏离)。

9
如何在iOS中的小键盘上添加“完成”按钮
因此,小键盘默认情况下不带有“完成”或“下一步”按钮,因此我想添加一个。在iOS 6及以下版本中,有一些技巧可以在键盘上添加按钮,但它们似乎在iOS 7中不起作用。 首先我订阅显示通知的键盘 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; 然后,当键盘显示时,我尝试添加一个按钮: - (void)keyboardWillShow:(NSNotification *)note { // create custom button UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeSystem]; doneButton.frame = CGRectMake(0, 50, 106, 53); doneButton.adjustsImageWhenHighlighted = NO; [doneButton setTitle:@"Done" forState:UIControlStateNormal]; [doneButton addTarget:self action:@selector(dismissKeyboard) forControlEvents:UIControlEventTouchUpInside]; // locate keyboard view UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] …


13
如何计算特定字体和字体大小的文本字符串的宽度?
我有一个显示一些字符的UILabel。如“ x”,“ y”或“ rpm”。如何计算标签中文本的宽度(它不会占用整个可用空间)?这是用于自动布局的,如果UILabel内部包含较小的文本,则另一个视图将具有较大的框架矩形。指定UIFont和字体大小时,是否有方法来计算文本的宽度?也没有换行符,只有一行。

6
UIStackView隐藏视图动画
在iOS 11中,a中隐藏动画的行为UIStackView已更改,但是我无法在任何地方找到该文档。 iOS 10 iOS 11 两者中的代码是这样的: UIView.animate(withDuration: DiscoverHeaderView.animationDuration, delay: 0.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 1, options: [], animations: { clear.isHidden = hideClear useMyLocation.isHidden = hideLocation }, completion: nil) 如何在iOS 11上还原以前的行为?

8
如何在NSUserDefaults中删除用户默认值?
即,我的应用程序在开始时设置了一些标准默认值。然后,这些值可能会被用户覆盖。当用户搞砸时,我想将这些设置恢复为我的应用默认值。据我了解,应用程序默认设置与用户默认设置是不同的词典,而用户默认设置仅覆盖那些应用程序默认设置。但是我还没有看到删除用户默认值的方法。任何的想法?


5
如何使用CAShapeLayer和UIBezierPath绘制一个平滑的圆?
我试图通过使用CAShapeLayer并在其上设置圆形路径来绘制描边圆。但是,此方法在渲染到屏幕时始终不如使用borderRadius或直接在CGContextRef中绘制路径精确。 这是这三种方法的结果: 请注意,第三个渲染效果很差,尤其是在顶部和底部的笔触内部。 我已将该contentsScale属性设置为[UIScreen mainScreen].scale。 这是我为这三个圆圈绘制的代码。使CAShapeLayer平滑绘制时缺少什么? @interface BCViewController () @end @interface BCDrawingView : UIView @end @implementation BCDrawingView - (id)initWithFrame:(CGRect)frame { if ((self = [super initWithFrame:frame])) { self.backgroundColor = nil; self.opaque = YES; } return self; } - (void)drawRect:(CGRect)rect { [super drawRect:rect]; [[UIColor whiteColor] setFill]; CGContextFillRect(UIGraphicsGetCurrentContext(), rect); CGContextSetFillColorWithColor(UIGraphicsGetCurrentContext(), NULL); [[UIColor redColor] …

13
如何使ScrollView中的TableView滚动行为自然
我需要做一个配置很奇怪的程序。 如下图所示,主视图是UIScrollView。然后,它的内部应该有一个UIPageView,而PageView的每个页面都应该有一个UITableView。 到目前为止,我已经完成了所有这一切。但我的问题是,我想滚动到表现 自然。 接下来是我自然的意思。当前,当我在其中一个UITableViews上滚动时,它将滚动tableview(而不是scrollview)。但是我希望它滚动ScrollView,除非scrollview无法滚动导致它到达顶部或底部(在那种情况下,我希望它滚动tableview)。 例如,假设我的滚动视图当前滚动到顶部。然后,我将手指放在(显示当前页面的)表格视图上,然后开始向下滚动。在这种情况下,我希望scrollview滚动(没有tableview)。如果我一直向下滚动滚动视图并到达底部,如果我从显示屏上移开手指并将其放回tebleview上方并再次向下滚动,则我希望我的表视图现在向下滚动,因为滚动视图已到达其底部并且没有滚动能够保持滚动。 你们对如何实现此滚动有任何想法吗? 我真的迷失了。任何帮助将不胜感激:( 谢谢!

6
在Swift中将参数传递给选择器
我正在以编程方式将UITapGestureRecognizer添加到我的视图之一: let gesture = UITapGestureRecognizer(target: self, action: #selector(self.handleTap(modelObj:myModelObj))) self.imageView.addGestureRecognizer(gesture) func handleTap(modelObj: Model) { // Doing stuff with model object here } 我遇到的第一个问题是“'#selector'的参数没有引用'@Objc'方法,属性或初始化程序。 很酷,所以我在handleTap签名中添加了@objc: @objc func handleTap(modelObj: Model) { // Doing stuff with model object here } 现在,我收到错误消息“无法将方法标记为@objc,因为无法在Objective-C中表示参数的类型。 它只是建筑物地图的图像,其中一些图钉图像指示了兴趣点的位置。当用户点击这些引脚之一时,我想知道他们轻按了哪个兴趣点,并且我有一个描述这些兴趣点的模型对象。我使用此模型对象为钉图提供其在地图上的坐标,因此我认为将对象发送到手势处理程序会很容易。
76 ios  swift  uikit  selector 




5
在UICollectionViewController中拉入刷新
我想UICollectionViewController在iOS 6下实现下拉刷新。这很容易通过来实现UITableViewController,如下所示: UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(startRefresh:) forControlEvents:UIControlEventValueChanged]; self.refreshControl = refreshControl; 上面的代码实现了一个不错的液滴动画,作为本地小部件的一部分。 作为UICollectionViewController一种“更加进化的”产品,UITableViewController人们会期望某种程度的功能均等,但是我在任何地方都找不到实现此功能的内置方法的参考。 有一个简单的方法可以让我忽略吗? 尽管标头和文档都声明将其与表视图UIRefreshControl一起使用,UICollectionViewController但可以以某种方式使用它吗?

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.