Questions tagged «cocoa-touch»

驱动iOS应用程序的Cocoa Touch框架共享在Mac上发现的许多成熟模式,但它们的构建特别着重于基于触摸的界面和优化。

29
在导航控制器中设置后退按钮的操作
我正在尝试覆盖导航控制器中后退按钮的默认操作。我为目标提供了自定义按钮上的操作。奇怪的是,尽管通过backbutton属性对其进行分配时,它并不关注它们,而只是弹出当前视图并返回到根目录: UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle: @"Servers" style:UIBarButtonItemStylePlain target:self action:@selector(home)]; self.navigationItem.backBarButtonItem = backButton; 一旦在上设置了它leftBarButtonItem,navigationItem它就会调用我的动作,但是按钮看起来像是普通的圆形按钮,而不是箭头向后的按钮: self.navigationItem.leftBarButtonItem = backButton; 如何返回到根视图之前调用我的自定义操作?有没有办法覆盖默认的后退操作,还是有方法在离开视图时始终被调用(viewDidUnload不这样做)?

18
CGContextDrawImage在传递UIImage.CGImage时将图像上下颠倒
有谁知道为什么CGContextDrawImage会颠倒我的形象?我正在从应用程序中加载图像: UIImage *image = [UIImage imageNamed:@"testImage.png"]; 然后简单地要求核心图形将其绘制到我的上下文中: CGContextDrawImage(context, CGRectMake(0, 0, 145, 15), image.CGImage); 它在正确的位置和尺寸进行渲染,但是图像是颠倒的。我一定会在这里遗漏一些明显的东西吗?

30
项目构建中的CocoaPods错误
我无法建立使用CocoaPods的项目。我收到以下错误: diff: /../Podfile.lock: No such file or directory diff: Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.` $ pod install似乎工作正常,Pods并向我的工作区添加了一个项目。我已经尝试过了,$ pod update但这无济于事。 似乎PODS_ROOT没有设置。 Podfile: platform :ios, '6.0' workspace 'Example.xcworkspace' xcodeproj 'example/Example.xcodeproj' pod 'TestFlightSDK', '~> …

12
在UITableViewCell中有一个UITextField
我现在正在尝试这样做几天,并且在阅读了大量尝试这样做的人的消息后,仍然无法完全完成UITextField某些工作UITableViewCells,就像下面的示例一样: 我可以使用该窗体,但是该文本是不可见的(尽管我将其颜色设置为蓝色),当我单击它时,键盘会进入该字段,并且我无法正确实现键盘事件。我尝试了苹果提供的许多示例(主要是UICatalog,那里有一个类似的控件),但是它仍然无法正常工作。 有人可以帮我(和所有试图实现这种控制的人),并发布一个简单实现的UITextField一个UITableViewCell,工作正常?

7
通过用户的触摸画出完美的圆圈
我有这个练习项目,允许用户在用手指触摸时在屏幕上绘制。我做的非常简单的App就是锻炼方式。我的小堂兄在用我的iPad在这个App上自由地用手指画东西(孩子画的东西:圆,线等,无论他想到什么)。然后他开始画圆,然后他问我将其设为“好圆”(根据我的理解:将画出的圆完美地画成圆形,因为我们知道,无论我们多么努力地尝试用手指在屏幕上画出一些东西,圆永远不会真正像圆一样圆)。 因此,我的问题是,代码中是否有任何方法可以首先检测用户绘制的形成圆的线,并通过使其在屏幕上完美地变圆来生成大致相同的圆。使一条不太直线的直线是我会知道的方法,但是对于圆形,我不太了解如何使用Quartz或其他方法进行。 我的理由是,在用户抬起手指以证明他实际上试图绘制一个圆这一事实之后,直线的起点和终点必须彼此接触或交叉。

28
是否可以使用UITableViewStylePlain禁用UITableView中的浮动标头?
我正在使用UITableView来布局内容“页面”。我正在使用表格视图的标题来布局某些图像等,如果它们不浮动但仍保持静态(如将样式设置为)一样,则希望使用它UITableViewStyleGrouped。 UITableViewStyleGrouped除了使用之外,还有其他方法吗?我想避免使用分组,因为它会在我所有的单元格下方添加边距,并且需要为每个单元格禁用背景视图。我想完全控制自己的布局。理想情况下,它们应该是“ UITableViewStyleBareBones”,但我在文档中没有看到该选项... 非常感谢,

1
如何单击透明UIView后面的按钮?
假设我们有一个带有一个子视图的视图控制器。子视图占据屏幕中心,所有边距均为100 px。然后,我们添加一堆小东西以在该子视图中单击。我们仅使用子视图来利用新框架(子视图内的x = 0,y = 0实际上在父视图中为100,100)。 然后,假设我们在子视图后面有一些东西,例如菜单。我希望用户能够在子视图中选择任何“小东西”,但是如果那里什么也没有,我希望通过它触摸一下(因为无论如何背景都是清晰的),到达它后面的按钮。 我怎样才能做到这一点?看起来touchesBegan经历了,但是按钮不起作用。


7
将UIImage转换为NSData
我在我的应用程序中使用此代码,这将有助于我发送图像。 但是,我有一个带有图像的图像视图。我的文件中没有文件,但图像在我的身边。如何更改以下代码?谁能告诉我如何转换myimage为NSData? // Attach an image to the email NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"]; NSData *myData = [NSData dataWithContentsOfFile:path]; [picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];

11
如何检查iOS中的视图层次结构?
是否有用于检查iOS应用程序视图层次结构的GUI工具?我在考虑Webkit的Web检查器或类似工具。我正在寻找调试布局问题的方法,例如视图或位置或大小错误,或者子项未正确包含在其父项中。当前,我必须添加断言来手动测试这些各种条件,或者在不同的视图上设置不同的背景颜色,并且可以想象,这是一种非常繁琐的解决方法。 我查看了Instruments的UI recorder,但它仅记录和播放UI操作`,并且在任何情况下仅适用于Mac应用。 有更好的解决方案吗?
170 ios  cocoa-touch  uikit 

11
UITextField的初始键盘动画上的超慢延迟/延迟
好吧,这个问题使我发疯。 触摸键盘后,弹出键盘大约需要3-4秒UITextField。自应用启动以来,这仅在键盘第一次弹出时发生,然后动画立即开始。 起初我以为是加载太多图像或我的问题UITableView,但是我刚刚创建了一个仅带的全新项目,但UITextField我仍然遇到此问题。我正在使用iOS 5,Xcode ver 4.2,并在iPhone 4S上运行。 这是我的代码: #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)]; textField.borderStyle = UITextBorderStyleRoundedRect; textField.delegate = self; [self.view addSubview:textField]; } @end 这是所有应用程序的常见问题吗? 现在,我可以做得更好的唯一方法是textField成为/指派第一响应者viewDidAppear,但这并不能完全解决问题-而是在加载视图时加载延迟。如果在textField加载视图时立即单击,仍然会出现问题;如果我在加载视图后等待3-4秒再触摸textField,则不会得到延迟。



18
如何将本地HTML文件加载到UIWebView中
我正在尝试将html文件加载到我的UIWebView中,但是它将不起作用。这是阶段:在我的项目中有一个名为html_files的文件夹。然后,我在界面构建器中创建了一个webView,并在viewController中为其分配了出口。这是我用来附加html文件的代码: -(void)viewDidLoad { NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"html" inDirectory:@"html_files"]; NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile]; [webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]]; [super viewDidLoad]; } 那是行不通的,UIWebView是空白的。我将不胜感激。

4
视图控制器之间进行通信的最佳方式是什么?
作为对Objective-C,可可和iPhone开发人员的新手,我强烈希望充分利用语言和框架。 我正在使用的资源之一是斯坦福大学的CS193P类笔记,它们已经留在网上了。它包括讲义,作业和示例代码,并且由于该课程是由Apple开发人员提供的,因此我绝对认为它是“从马口算起的”。 课堂网站:http: //www.stanford.edu/class/cs193p/cgi-bin/index.php 第08课与构建基于UINavigationController的应用程序有关,该应用程序将多个UIViewControllers推送到UINavigationController堆栈上。这就是UINavigationController的工作方式。这是合乎逻辑的。但是,幻灯片中有一些关于UIViewController之间进行通信的严厉警告。 我将从这些严肃的幻灯片中引用:http : //cs193p.stanford.edu/downloads/08-NavigationTabBarControllers.pdf 第16/51页: 如何不共享数据 全局变量或单例 这包括您的应用程序委托 直接依赖关系使代码的可重用性降低 而且更难调试和测试 好。我对此感到沮丧。不要盲目地将用于在viewcontroller之间进行通信的所有方法扔到您的应用程序委托中,并在应用程序委托方法中引用viewcontroller实例。公平的诺夫。 再进一步,我们得到这张幻灯片,告诉我们应该做什么。 第18/51页: 数据流最佳实践 弄清楚究竟需要传达什么 为您的视图控制器定义输入参数 为了在层次结构之间进行通讯,请使用松散耦合 为观察者定义通用接口(例如委派) 然后,在此幻灯片之后是看似占位符的幻灯片,在该幻灯片中,讲师显然使用UIImagePickerController的示例演示了最佳实践。我希望这些视频可用!:( 好的,所以...我怕我的objc-fu不太牢固。我也对上面引用的最后一行感到困惑。我一直在尽职调查这个问题,发现似乎是一篇体面的文章,在谈论观察/通知技术的各种方法:http : //cocoawithlove.com/2008/06/five-approaches-to -listening-observing.html 方法5甚至将委托表示为方法!除了...对象只能一次设置一个委托。因此,当我有多个ViewController通讯时,我该怎么办? 好的,那是设置帮派。我知道我可以通过引用appdelegate中的多个viewcontroller实例轻松地在应用程序委托中执行通信方法,但是我想以正确的方式进行此类操作。 请回答以下问题,以帮助我“做正确的事”: 当我尝试在UINavigationController堆栈上推送新的viewcontroller时,谁应该执行此推送。 我的代码中哪个类/文件是正确的位置? 当我想影响一些数据块(伊娃的值),我UIViewControllers之一,当我在不同的UIViewController,什么是“正确”的方式做到这一点? 假设我们一次只能在一个对象中设置一个委托,那么当讲师说“为观察者定义通用接口(如委托)”时,实现将是什么样子。如果可能的话,一个伪代码示例将非常有帮助。

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.