Tag: 条件

我怎样才能知道什么时候在屏幕上的任何对象被挖掘?

现在首先,我不问如何添加一个手势识别器或如何创build一个button。 我想知道的是“有人以任何方式触摸屏幕”,而不会干扰相关的屏幕元素。 事情是,我有元素,用户可以挖掘(惊人的,不是吗?)。 然后我有一个视图覆盖了一切(窗口addSubview)。 这个视图出现了一些延迟,我希望应用程序的行为好像这个视图不存在,直到它的“显示”animation开始。 然后,如果用户点击任何提及的元素(不是所有元素都不可以是叠加视图的超级视图),则元素应该像往常一样高亮并触发,而要叠加的视图应该取消其显示animation(alpha 0-> 1)并从层次结构中删除它自己。 tl; dr:我怎样才能听任何事件的屏幕上的任何对象,而不必写明确的代码来“观看”每一个对象 – 我只是想知道一个手势发生,而不是在哪里,不是如何,不随你? 而且我不想混淆事件接收者的观点。 这甚至有可能吗?

如何使视图控制器没有xib或故事板vc标识符?

我想知道如何在不使用xib或storyboard的情况下xib 。 所以在这种情况下,我会得到这样的viewcontroller PopupViewController* vc = [[PopupViewController alloc] init]; [self addChildViewController:vc]; [self.view addSubview:vc.view]; [vc didMoveToParentViewController:self]; 我知道它必须重写init方法,因为我们不使用initWithCoder ? 我知道我必须创build一个视图,并将其设置为PopupViewController ,但我想知道如何做到这一点。 编辑:是的,只是制作一个xib file或添加view controller到storyboard可能会更容易,这是深入了解如何view controllers工作。

drawInRect:withAttributes与“发送到释放实例的消息”

我正在更新iOS 7的应用程序。其中一个变化是切换到新的drawInRect:withAttributes函数,而不是废弃的drawInRect:withFont …这是工作正常的iOS 7testing版,但今天后升级到最新的iOS 7版本,应用程序崩溃就行了: [text drawInRect:theRect withAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:fontSz], NSFontAttributeName, color, NSForegroundColorAttributeName, nil]]; 随着消息: *** -[NSStringDrawingTextStorage textContainerForAttributedString:containerSize:lineFragmentPadding:]: message sent to deallocated instance 0x187ed0f0 我尝试运行僵尸工具,这根本没有帮助,在我的代码中既没有分配也没有释放有关的对象。 具体来说,我得到的消息: An Objective-C message was sent to a deallocated 'NSStringDrawingTextStorage' object (zombie) at address: 0x169edc50. 而对象的malloc /释放在调用者之下: [NSStringDrawingTextStorage stringDrawingTextStorage] 我究竟做错了什么?

拉下UIScrollView并保持y位置

我想在UIScrollView被拉到某一点时触发一个动作。 这就是我现在所拥有的: – (void)scrollViewDidScroll:(UIScrollView *)scrollView { if (scrollView.contentOffset.y == -100.0) { NSLog(@"Trigger"); [scrollView setContentOffset:CGPointMake(0.0, -200.0) animated:YES]; } } 这种工作,直到我结束我的触摸事件,然后UIScrollView返回到它的原始位置。 任何想法如何解决这个问题?

iOS应用程序设置包

在项目中使用Apple的“设置”包,只有满足其他设置条件时才可以向用户公开某些设置? 例如,我有一个切换开关,如果用户在“设置”应用程序中将select切换为“假”,我想显示一个可以填写的文本框。如果切换为真,我想隐藏文本框。 任何帮助或指导文件解释这将是很好的指针。

iOS – 条件编译(xcode)

我已经创build了一个额外的iPad的目标,原来是一个iPhone应用程序。 从苹果的文档:“在几乎所有情况下,你会想要定义一个新的视图控制器类来pipe理你的应用程序接口的iPad版本,特别是如果该接口是完全不同于你的iPhone接口,你可以使用条件编译协调不同视图控制器的创build“。 但是他们没有给出任何例子或细节什么条件编译是。 任何人都可以举个例子吗? 我在哪里可以做到这一点? 编辑:我已经尝试在iPad目标中定义以下C标志:-D USE_IPAD,-DUSE_IPAD。 无论哪种方式,这段代码总是导致IPHONE获取日志: #ifdef USE_IPAD NSLog(@"IPAD"); #else NSLog(@"IPHONE"); #endif 我错过了什么?

UITableViewCell中的UIScrollView – 没有didSelect调用

我有一个tableviewCell ,用户可以水平scroll 。 由于scrollView几乎覆盖了整个cell ,因此如果用户单击cell cell ,则不会调用tableView方法didSelectRow 。 所以我想,我可以将UIScrollView的触摸事件传递给cell ,但didSelectRow仍然不被调用。 我分类UIScrollView只传递触摸事件,如果触摸不是一个拖动: – (void) touchesEnded: (NSSet *) touches withEvent: (UIEvent *) event { NSLog(@"touch scroll"); // If not dragging, send event to next responder if (!self.dragging) [self.superview touchesEnded: touches withEvent:event]; else [super touchesEnded: touches withEvent: event]; } 有关如何将点击传递到表的任何想法,以获得委托方法调用,并保持滚动内滚动scrollview ?

如何从付费版本构build免费版本而不复制Xcode 4项目?

我听说过有可能通过使用目标和条件编译指令来构build应用程序的不同变体而不重复Xcode项目 IF !FREE_VERSION [self loadGreatFeature]; ELSE [self loadBoringFeature]; 所以: 如何设置Xcode 4,以便能够区分build筑/归档免费或付费版本的项目? 如何告诉Xcode 4在付费版本中包含一些图像和其他资源,但不包含免费版本(反之亦然)? 如何告诉Xcode 4build立免费或付费版本? (不要一直build造这两个,因为这会减缓发展) 这种方法有哪些注意事项? 我知道重复Xcode项目有什么要注意的地方:一旦我修复了这两个版本中的一个bug,我就必须在另一个版本中做同样的事情。 同样的做出改进和修改。

如何在当前视图上创build半透明视图图层?

您之前可能已经看到过,它在ScoutMob等消费时尚应用程序中变得非常stream行。 我试图在启动时实现60%的透明视图,这将覆盖我的主屏幕,解释如何使用主屏幕的function并在点击时消失。 我已经完成了我的整个应用程序(它使用的是.xib多年前的版本,但也可以在storyboard格式中进行解释,因为我可能会在其他iOs 5.0+应用程序中重复使用此function。) 我没有任何问题提出单一的意见,但暂时分层叠加一个是我没有直觉的东西。 我会继续研究,并包括任何有用的提示,以防其他人试图做同样的事情。

我怎么能写这个,如果其他代码检查更好的方式?

这是如果其他代码检查写这个最好的方法? // set the default to Italy if countrySaved is null if (lang == NULL) { lang = @"it"; } // otherwise set the correct lang based on the country chosed and saved in nsuserdefaults if ([countrySaved isEqual:@"Brazil"]) { lang = @"br"; } else if ([countrySaved isEqual:@"Spain"]) { lang = @"es"; } else if ([countrySaved […]