小编B K*_*B K的帖子

如何截取IOS上的UIWebview内的Button点击?

我有一个HTML表单,其中包含我在UIWebview中打开的某些字段.点击特定按钮后,我想进行应用操作.

我现在使用的方法是点击按钮,我将页面重定向到虚拟URL.我使用委托方法"shouldStartLoadWithRequest"嗅探URL并停止重定向.然后,我做我的自定义事件(捕获图像和上传),然后继续.这似乎是一个丑陋的黑客.无论如何,我可以直接挂钩按钮点击事件而不是页面重定向?

更新 当按钮单击调用JS函数时,似乎无法设置要触发的委托方法.唯一的方法是使用上面提到的URL嗅探方法.这个已经由joern在下面详细解释过,所以我会接受他的回答.

javascript iphone onclick uiwebview ios

31
推荐指数
1
解决办法
4万
查看次数

"InfoDictionary版本"在信息属性列表(plist文件)中表示什么?

"InfoDictionary版"是什么意思?它绝对不同于捆绑版本,但"InfoDictionary版本"的作用是什么?

info.plist ios

22
推荐指数
1
解决办法
8241
查看次数

UIViewController和UIview dealloc没有被调用

我有一个基于导航的视图控制器,在视图控制器中我隐藏了顶部导航栏并使用自定义UIView作为导航栏.

UIView栏有一个后退按钮,我使用Delegate方法(我已经声明了一个协议)在后退按钮被预设时与视图控制器通信.

我在CustomNavigation Bar id委托中使用委托;

并在主视图控制器中,当我分配导航栏时,我设置了委托

topBar = [[TopNavigationBar alloc] initWithFrame:CGRectMake(0, 0, 480, 40)];
topBar.lblTitle.text = @"Shop";
topBar.delegate = self;
Run Code Online (Sandbox Code Playgroud)

我在ViewControllers dealloc中发布了这个Bar.

现在,当我按下后退按钮时,我使用委托方法在主ViewController中调用popViewController.

//in Custom Bar
-(void)ButtonPressed {
    [delegate TopNavigationBarBackButtonPressed];   
}

//In View COntroller
-(void)TopNavigationBarBackButtonPressed {

    [self.navigationController popViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

现在ViewController是poped并且控件转到上一个viewController但是在ViewController和UIView中都没有触发dealloc

我究竟做错了什么?

delegates uiviewcontroller uiview dealloc ios4

7
推荐指数
1
解决办法
7964
查看次数

检测在 xcode 中绘制的路径是否是圆形/矩形

我想为绘图应用程序实现自动完成功能。一旦徒手绘制了对象,我想检测对象的类型(圆形/矩形/三角形),并根据结果绘制相应的对象。

我已经阅读了一些有关 OpenCV 的内容,但随后我需要将用户绘图实时转换为图像。我正在记录通过触摸绘制/追踪的点数,并生成UIBeizerPath相应的路径。我该如何检测形状类型?

xcode shapes detection ios uibezierpath

5
推荐指数
1
解决办法
2040
查看次数

将字符串转换为NSDate的正确方法?(iphone)

在我的应用程序中,我将日期存储为字符串("MM/dd/YYYY"格式).在DB中.以后当我检索字符串时我必须比较两个日期,我该如何实现呢?

如果我使用了"YYYY/MM/dd"格式,我可以将其直接比作字符串.现在我必须使用"nsdateformatter"和"dateFromString"转换回NSDate对象.但无论我做什么,我都会使用它获得一个恒定的日期值.

有任何想法吗??

string iphone nsdate nsdateformatter

3
推荐指数
1
解决办法
1万
查看次数

ccTouchesBegan没有在cocos2D中开火?

您好,我已经使用cocos2D Framework为演示游戏应用程序创建了一个图层.我已将cocos2d与现有应用程序集成.我需要为此检测触摸事件.但是我无法检测到这一点.我使用过ccTouchesBegan.

- (BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self ccTouchesEnded:touches withEvent:event];
}
Run Code Online (Sandbox Code Playgroud)

即使是简单的touchBegan事件也不会被触发.

我是否必须添加委托或协议等内容?我是iphone开发的新手,我也正在学习用于游戏开发的cocos2d编程.请帮忙.

cocos2d-iphone

3
推荐指数
1
解决办法
3039
查看次数

如何通过wifi和3G网络设置语音聊天?

我想在我的商业应用中添加语音聊天功能.我一直在努力寻找有用的东西,但对此没什么帮助.任何人都可以指出我具体的事情吗?

PS:Skype应用程序使用此功能.

iphone audio sdk voip

2
推荐指数
1
解决办法
1430
查看次数

iPad详细设置页面如popup viewController

我想澄清的第一件事是我不是在谈论splitview控制器.我想要弹出一个导航控制器,类似于您点击键盘>>语言或邮件>>新帐户时获得的导航控制器.

弹出式导航控制器

现在这不是一个popover控制器,可用于此的任何标准框架?也许我错过了显而易见的事实.关于这一点的好处是它有导航控制器,因此视图调整大小以适应后续的tableview长度.

uiviewcontroller ipad ios

2
推荐指数
1
解决办法
1423
查看次数

通过参考传递值和传递

我在过去几天一直在研究一些基础知识,并且我意识到我从未真正理解为什么NSString/NSMutableString的传递引用不起作用.

- (void)testing{    

NSMutableString *abc = [NSMutableString stringWithString:@"ABC"];
[self testing:abc];
NSLog(@"%@",abc); // STILL ABC
}


-(void)testing:(NSMutableString *)str {
str = [NSMutableString stringWithString:@"HELP"];
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我希望我的测试方法能够从main方法操作String.我一直在使用Mutable Arrays,字典等,并且工作正常.感觉奇怪,我从来没有意识到它如何与字符串一起使用.

但是这个值会改变,就像第一个字符串一样

NSMutableString *string1;
NSMutableString *string2;

string1 = [NSMutableString stringWithString: @"ABC"];
string2 = string1;

[string2 appendString: @" HELP"];

NSLog (@"string1 = %@", string1); // ABC HELP
NSLog (@"string2 = %@", string2); // ABC HELP
Run Code Online (Sandbox Code Playgroud)

objective-c pass-by-reference nsstring

0
推荐指数
1
解决办法
1838
查看次数