草庐IT

iOS:如何将触摸事件从 subview 转发到父 View ?

这个问题在这里已经有了答案:AllowinginteractionwithaUIViewunderanotherUIView(19个回答)关闭7年前。我的iPhone项目中有以下设置(一个有UIView作为subview的UIButton):-UIButton//super-view|_UIView//sub-view________|我已使用IB将我的UIButton中的一个Action(内部修饰)连接到我的ViewController。但不幸的是,UIView阻止操作系统调用我的UIButton的操作方法,因为UIViewsubview不响应触摸,因此不转发到它的superView

ios - UIView绘制圆弧型仪表图

我有一个仪表形状的图表,其中包含多个设计元素(见附件)。我遇到困难的关键部分实际上是用虚线获得像样的弧形。到目前为止,我不确定我是应该走CoreGraphics路线还是使用UIKit中的某些东西,即UIBezierPath。我在一个扩展UIView的类中尝试过这个,它给了我虚线,但弧本身还不够好:classExample:UIView{overridefuncdrawRect(rect:CGRect){letcontext=UIGraphicsGetCurrentContext()CGContextSetLineWidth(context,10.0)CGContextSetStroke

ios - 捕获其父 View 框架外的 subview 上的触摸(在多个层上)

我在这个线程中描述了一个类似的问题:CapturingtouchesonasubviewoutsidetheframeofitssuperviewusinghitTest:withEvent:情况我们正在XamariniOS中开发应用程序。我们有一个自定义View来创建自己的自动完成输入字段,其中包含一个UiTextField和一个UiTableView,用于显示结果。为了实现更好的模块化,我们有另一个名为LabeledContainer的自定义View。在其中,我可以设置一个标签并将内容添加到底部View,在本例中是自动完成。AutoCompleteLabeledContainer+

重复播放时 iOS 动画不会重置

我有一个非常简单的动画block,它执行以下动画:(taptheimageiftheanimationdoesn'tplay)funcdidTapButton(){//resettheanimationto0centerYConstraint.constant=0superview!.layoutIfNeeded()UIView.animate(withDuration:1,animations:{//animatetheviewdownwards30pointsself.centerYConstraint.constant=30self.superview!.layoutIfNeed

iphone - 如何在点击时更改 UIView 的样式?

我正在使用以下代码使不同的UIView可点击(它们不是从UIControl继承的):UITapGestureRecognizer*gesture=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(userTappedOnLink:)];[labelViewsetUserInteractionEnabled:YES];[labelViewaddGestureRecognizer:gesture];但我也想在突出显示时更改样式。我该怎么做? 最佳答案 将U

iphone - iOS 中的 UI 元素如何从没有线程的循环中更新?

我想从循环中更新标签,例如:-(void)viewDidLoad{[superviewDidLoad];inti=0;while(1){i++;[NSThreadsleepForTimeInterval:0.05];//dosomecomputation,[myLabelsetText:[NSStringstringWithFormat:@"%d",i]];//showtheresult![self.viewsetNeedsDisplay];}}假设完成了一些繁重的计算而不是sleep。我不想在后台进行计算的开销。处理此问题的Windows等效项是.DoEvents,如本例所示:htt

objective-c - UIView subview 中的 setNeedsLayout

我有一个UIViewController,在willRotateToInterfaceOrientation中,我正在调用[selfview]setNeedsLayout];这个View调用了它的subview(UIScrollView)layoutSubviews方法,但是UIScrollView没有调用layoutSubviews因为它的subview。这是应该的样子吗?我想如果你在一个View上调用setNeedsLayout,它会在每个subview和它们的subview上调用layoutSubviews以及...我是否必须手动覆盖UIScrollView中的layoutsub

ios - 我不完全理解 sendSubviewToBack。请看代码

你可以看到我的xib文件的截图。我在viewDidLoad中做了一些操作-(void)viewDidLoad{[smallViewremoveFromSuperview];[bigViewsendSubviewToBack:smallView];}层次结构会不会从view->bigView->smallView变为view->smallView->bigView? 最佳答案 不,层次结构不会受到影响。documentation说:sendSubviewToBack:Movesthespecifiedsubviewsothatitap

ios - 将 MKUserTrackingBarButtonItem 添加到 UIView

我正在使用MKUserTrackingBarButtonItem来切换我的MKMapView的usertrackingMode。是否可以将此按钮移出我的工具栏并将其放置在普通的UIView上?当然,我可以自己实现按钮的行为。您是否有此按钮中使用的图标的任何资源?感谢您的帮助。 最佳答案 所以似乎没有办法直接将任何类型的条形按钮项目添加到UIView。我们将不得不继承UIToolbar来创建一个完全不可见的工具栏。覆盖-(void)drawRect:(CGRect)rect并放置nothing,甚至不是[superdrawRect]。

ios - UIViewController 应该控制 UIView 的动画吗?

我一直在督促自己学习更多MVCS风格的编程,并试图更好地组织我的代码。我的主要问题是,我有一个UIViewController,它会在事件发生时调出一个View。创建View和销毁View时,我想在View出现和消失时运行一些动画。我可以在我拥有的UIView类和UIViewController中执行此操作。一旦建立了这些动画,就不需要更改它们。我应该在UIViewController或UIView中执行此操作以保持MVC兼容吗?代码目前在我的UIView中:-(IBAction)removeView{NSLog(@"Remove");if(self.completionBlock!=