我想将CGPoint从我的UIView转换为UIWindow坐标,并意识到UIApplication keyWindow总是为零; 为什么是这样?
我尝试过convertPoint:toView:UIView 的方法.
请在Xcode模板(View应用程序)中查看我在视图控制器中尝试的示例代码:
- (void)viewDidLoad {
[super viewDidLoad];
UIView *test = [[UIView alloc] initWithFrame:CGRectMake(40,40,250,250)];
[test setBackgroundColor:[UIColor redColor]];
[self.view addSubview:test];
CGPoint p = CGPointMake(100, 100);
CGPoint np;
np = [test convertPoint:p toView:[[UIApplication sharedApplication] keyWindow]];
NSLog(@"p:%@ np:%@", NSStringFromCGPoint(p), NSStringFromCGPoint(np));
AppDelegate *appDel = (AppDelegate *)[UIApplication sharedApplication].delegate;
np = [test convertPoint:p toView:[appDel window]];
NSLog(@"p:%@ np:%@", NSStringFromCGPoint(p), NSStringFromCGPoint(np));
np = [test convertPoint:p toView:nil];
NSLog(@"p:%@ np:%@", NSStringFromCGPoint(p), NSStringFromCGPoint(np));
[test release];
if(![[UIApplication sharedApplication] keyWindow])
NSLog(@"window was nil");
}
Run Code Online (Sandbox Code Playgroud)
我得到:
p:{100, 100} np:{100, …Run Code Online (Sandbox Code Playgroud) 我有一个iPad应用程序,我通过viewDidLoad方法中的以下代码获取设备的UDID.
uid = [[UIDevice currentDevice] uniqueIdentifier];
uid = [uid stringByReplacingOccurrencesOfString:@"-" withString:@""];
Run Code Online (Sandbox Code Playgroud)
我想删除字符串中的破折号.
后来,在另一个方法调用中,我尝试访问这个uid字符串(这是该类的属性),
NSLog("Loading request with UDID: %@", uid);
Run Code Online (Sandbox Code Playgroud)
当我尝试将其打印出来时,我在控制台窗口中收到以下内容.
Loading request with UDID: (
<WebView: 0x4b0fb90>
)
Run Code Online (Sandbox Code Playgroud)
为什么打印内存地址而不是字符串本身?谢谢!
有没有人有任何对话框允许用户在一定范围内选择一个数字?看起来这是一个相当普遍的需求,但我找不到一个共同的对话框,我宁愿不必花时间创建自己的.
有帮助吗?
考虑简单的XML文档:
<html><body>
<table>
<tr><td> Item 1</td></tr>
<tr><td> Item 2</td></tr>
</table>
</body></html>
Run Code Online (Sandbox Code Playgroud)
使用XPath /html/body/table/tr/td/text()我们会得到
[" Item 1", " Item 2"].
Run Code Online (Sandbox Code Playgroud)
是否可以修剪空白区域,例如使用normalize-space()函数来获取此空间?
["Item 1", "Item 2"]
Run Code Online (Sandbox Code Playgroud)
normalize-space(/html/body/table/tr/td/text()) 仅产生第一个td标签的修剪内容 ["Item 1"]
我有这个查询,它有效......
UPDATE `contacts`
SET `calls_to`=`calls_to`+1
WHERE `contact_no` = '0412345678';
Run Code Online (Sandbox Code Playgroud)
我还想做的是为成本字段添加一个值。根据我的理解,这样做的方法是......
UPDATE `contacts`
SET `calls_to` = `calls_to`+1,
`cost_to` = `cost_to`+0.25
WHERE `contact_no`='0412345678';
Run Code Online (Sandbox Code Playgroud)
显然,正如我在这里发布的那样,它并没有像我预期的那样工作。
- 更新 -
按照要求,表结构..
id int(255) auto_increment
contact_owner varchar(255)
contact_no varchar(11)
contact_name varchar(255)
calls_to int(255)
txts_to int(255)
time_talked_to int(255)
cost_to decimal(65,2)
Run Code Online (Sandbox Code Playgroud) 我知道这是特定于平台的问题,但是,我想对应用程序进行一些运行时分析,以检测缓存未命中和命中.我知道cachegrind,valgrind和vtune的工具,还有一大堆其他的分析工具.但是,我感兴趣的是,在实现我自己的缓存未命中检测版本时.我知道cachegrind充当缓存模拟器.在不破坏内核的情况下,如何实用地检测缓存缺失?我觉得这对于用户土地应用来说几乎是不可能的,但我不得不问.
我想从现有的plist文件创建一个json文件.如何使用以下编程语言之一从plist文件创建json文件:Javascript或Java或Objective-c或Python或Ruby?
我正在按照教程http://www.bit-101.com/blog/?p=2115.在本教程中,我找到了一个项目模板,并通过它开始....
我已经下载了cocos2d-iphone-0.99.1将子目录cocos2d添加到项目...但是当我构建时我得到了9个错误和4个工作
Scene.h:没有这样的文件或目录Director'未声明(首次在此函数中使用)/Volumes/Jobed/cocos2d/CCTexture2D.m:79:24:错误:FontManager.h:没有这样的文件或目录/ Volumes/Jobed/cocos2d/CCTexture2D.m:80:35:错误:FontLabelStringDrawing.h:没有这样的文件或目录/Volumes/Jobed/cocos2d/CCTexture2D.m:在函数' - [CCTexture2D(Text)initWithString:fontName:fontSize:]': /Volumes/Jobed/cocos2d/CCTexture2D.m:519:错误:'ZFont'未声明(在此函数中首次使用)/Volumes/Jobed/cocos2d/CCTexture2D.m:519:错误:(每个未声明的标识符仅报告一次/ Volumes/Jobed/cocos2d/CCTexture2D.m:519:错误:对于它出现的每个函数.)/ Volume/Job/cocos2d/CCTexture2D.m:519:错误:'zFont'未声明(首次在此函数中使用)/卷/Jobed/cocos2d/CCTexture2D.m:519:错误:'FontManager'未声明(首次在此函数中使用)/Volumes/Jobed/cocos2d/CCTexture2D.m:521:警告:'NSString'可能无法响应'-sizeWithZFont:'/ volume/Job/corpoc2d/CCTexture2D.m :521:警告:(没有匹配方法签名的消息/Volumes/Jobed/cocos2d/CCTexture2D.m:521:警告:将假定返回'id'并接受/Volumes/Jobed/cocos2d/CCTexture2D.m:521:警告:'...'作为参数.)/ Volume/Job/corp2d/CCTexture2D.m:521:错误:赋值中的不兼容类型/Volumes/Jobed/cocos2d/CCTexture2D.m:在函数中' - [CCTexture2D(Text)initWithString:维度:alignment:fontName:fontSize:]':/ Volume/Job/corp2d/CCTexture2D.m:567:错误:'FontManager'未声明(在此函数中首次使用)/Volumes/Jobed/cocos2d/CCTexture2D.m:569:警告:'NSString'可能无法响应'-drawInRect:withZFont:lineBreakMode:alignment:'
等......我不知道为什么......我是新手可以帮忙吗?
我从一个运行http://www.delphi-central.com/runtime.aspx的网站上尝试了一个脚本, 然后成功了.
private
{ Private declarations }
procedure CustomButtonClick(Sender: TObject);
Run Code Online (Sandbox Code Playgroud)
procedure TForm1.AddNewButtonClick(Sender: TObject);
var
NewButton : TButton;
begin
NewButton := TButton.create(self);
with NewButton do
begin
Top := 30;
Width := 60;
Left := Width * (self.ControlCount-2);
Parent := self;
OnClick := CustomButtonClick;
Caption := 'Button '+ inttostr (self.ControlCount-2);
end; //With
end;
procedure TForm1.DeleteLastButtonClick(Sender: TObject);
begin
if Self.ControlCount>2 then
TButton (Controls[ControlCount-1]).destroy;
end;
procedure TForm1.CustomButtonClick(Sender: TObject);
begin
ShowMessage(TButton(Sender).caption + ' Pressed');
end;
Run Code Online (Sandbox Code Playgroud)
但如果我更改OnClick,
OnClick := CustomButtonClick; ==> OnClick := DeleteLastButtonClick; …Run Code Online (Sandbox Code Playgroud) 我正在创建两个应用程序,我们称之为Foo Bar和Foo Bar Pro.当我安装它们并打开iTunes时,我在那里看到了两个应用程序,但它们都说Foo Bar,因为"Foo Bar Pro"不适合作为捆绑显示名称.但是,在iTunes中,我想看"Foo Bar"和"Foo Bar Pro".
我在iTunes中看到了很多其他具有很长名称的应用程序,并且它不是Bundle Display Name所显示的内容.对于我的生活,我无法弄清楚那个更长的名字输入的位置.我假设在Info.plist中.
有人可以帮忙吗?: - /