我有一个滚动视图,它有一个图像视图,图像作为子视图,图像视图有一个UIButton子视图.问题是,我无法点击按钮.我可以看到按钮,但我无法点击它.
有人能告诉我,我搞砸了什么?任何帮助是极大的赞赏!谢谢!
以下是代码:
scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"img.jpg"]];
scrollView.delegate = self;
self.view = scrollView;
// add invisible buttons
[self addInvisibleButtons];
[scrollView addSubview:imageView];
Run Code Online (Sandbox Code Playgroud)
addInvisibleButtons 具有以下代码:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(buttonHandler) forControlEvents:UIControlEventAllEvents];
[button setTitle:@"point" forState:UIControlStateNormal];
button.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
[self.imageView addSubview:button];
Run Code Online (Sandbox Code Playgroud) 我添加了一个模态使用AGWindowView.在模态视图内部(使用IB构建),有一个文本字段.文本字段已连接到插座.
这不起作用:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.placesTextField becomeFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
呼叫becomeFirstResponder不起作用,键盘不显示.
这有效:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.placesTextField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0];
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我手动发送消息使用performSelector:withObject:afterDelay它工作.为什么这个方法直到运行时才被确定?
我知道我们可以使用关联引用来调用类别中的类似于ivar的行为.但是,无法在类别中声明新的ivars背后的具体原因是什么?
是因为我们会入侵班级的私人空间吗?或者还有其他原因吗?如果是的话,我会很感激一个例子,它显示了在类别中声明ivars的能力,可以打破它所破坏的任何东西.
是否可以从[UIPanGestureRecognizer translationInView]获取绝对触摸坐标?我正在开发一款iPad应用程序,并且一直在搜索UIPanGestureRecognizer的触摸坐标值!
我也尝试使用我们从transaltionInView获得的值进行偏移,但我真的无法理解它背后的数学...
有什么建议吗?
拉维
我有一个搜索栏,其中包含一些建议UITableView,这些建议会在用户输入时填充(使用JSON服务).这些服务调用需要在延迟500ms的非打字后进行.如果用户开始输入500ms的这段时间,则需要取消队列中的当前呼叫,并且应用程序必须等待另外500ms的非活动才能再次afterDelay呼叫.我知道我必须performSelector:withObject:afterDelay在整个情况下使用,但我无法适应条件.我尝试使用一堆bool但它只是变脏......任何帮助?
如何将麦克风输入重定向到iOS设备上的扬声器输出?我知道它反馈超时,但我怎么能在代码中做到呢?
据我所知,iOS 5是Apple Mobile OS的最新(也是最好的)版本.我也知道它包含ARC,OpenGL ES Debugger yada yada yada ...
我已经在我的公司开发了一些内部应用程序,它们都完美无缺.但作为开发人员,我是否真的需要将我的所有应用升级为兼容iOS-5?如果是这样,为什么?
所以我正在开发一个应用程序,其中包含一个包含单元格中图像的表视图.我从URL下载所有这些图像并将它们存储在一个数组中.我需要异步加载这些图像,所以我决定使用NSURLConnectionDataDelegate.我试过这段代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
NSUInteger row = [indexPath row];
NSURLRequest *theRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:[URLsArray objectAtIndex:row]]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) {
receicedData = [[NSMutableData alloc] init];
} else {
NSLog(@"Failed.");
}
return cell;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我不知道该写些什么:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
Run Code Online (Sandbox Code Playgroud)
将图像设置为单元格中的imageViews.有人可以帮忙吗?
我正在寻找一种先进的iOS原型制作工具.以下是我使用一个要求的一些要求:
我见过一些原型设计工具,但它们似乎都没有支持我上面的第二个要求.我唯一的替代方案似乎是编码,我不想在这个阶段做,因为有很多其他细节最终会使原型太难以处理.有什么指针吗?
我有一个UIAlertView,它有"OK"和"Cancel"按钮.我想在OK按下按钮时显示模态视图控制器.这是我到目前为止所做的:
(void)alertView:(UIAlertView *)alert clickedButtonAtIndex:(NSInteger)buttonIndex方法.在上面的方法中,当buttonIndex == 0我试图做一些事情的效果:
if (buttonIndex == 0)
{
ModalViewController *mdvc = [[[ModalViewController alloc] initWithNibName:nil bundle:nil] autorelease];
[self presentModalViewController:mdvc animated:YES];
}
Run Code Online (Sandbox Code Playgroud)事实证明,模态视图并不存在.我尝试了很多其他的方法,但它们只是让它变得复杂,让我创造了许多不必要的变量.必须有一个更简单的方法.
一些额外信息:
ios ×9
iphone ×5
ipad ×4
objective-c ×4
cocoa-touch ×2
audio ×1
ios5 ×1
ivar ×1
prototyping ×1
speaker ×1
touch ×1
uialertview ×1
uibutton ×1
uiimageview ×1
uitableview ×1
uitextfield ×1