现在,我有基本代码,用于在开始编辑时在键盘上方移动文本字段.但是,文本字段的大小因设备和方向而异.所以,我写了一个粗略的做法,它不会始终保持在键盘上方,而是在旋转时会进一步上升,因此看起来并不像我想的那么专业.
我的问题的基本含义是,是否有一个逻辑可以根据设备和方向获取键盘的大小,并自动使用该值,并希望比这更快.
如果这是最好的方式,请告诉我.否则,请提供意见.这是我的代码.(这只是上移代码,而不是下移代码,以防止占用太多空间)
- (void)textFieldDidBeginEditing:(UITextField *)textField {
//Get Device Type
NSString *deviceType = [[UIDevice currentDevice] model];
//Animate Text Field
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.4];
[UIView setAnimationBeginsFromCurrentState:YES];
if ([deviceType isEqualToString:@"iPhone"]) {
//Size For iPhone
googleBar.frame = CGRectMake(googleBar.frame.origin.x - 62.0, (googleBar.frame.origin.y - 210.0), googleBar.frame.size.width + 120.0, googleBar.frame.size.height);
} else if ([deviceType isEqualToString:@"iPad"]) {
//Size for iPad
googleBar.frame = CGRectMake(googleBar.frame.origin.x - 62.0, (googleBar.frame.origin.y - 320.0), googleBar.frame.size.width + 120.0, googleBar.frame.size.height);
} else if ([deviceType isEqualToString:@"iPod touch"]) {
//Size For iPod Touch
googleBar.frame …Run Code Online (Sandbox Code Playgroud) 所以,我需要在我的应用程序(用JS编写)的背景中运行一个无限循环,该循环将用于每六秒循环一次ScrollableView.但是,当这个循环运行时,我无法按照您的想法在应用程序中执行任何其他操作.
总而言之,如何在仍然使应用程序可操作的同时运行此循环?
码:
function startScrolling() {
for(; ; ) {
sleep(6000);
Ti.API.info('Scrolling To Index: ' + viewIndex);
scrollView.scrollToView(viewIndex);
if(viewIndex == 4) {
viewIndex = 0;
scrollView.scrollToView(viewIndex);
} else {
scrollView.scrollToView(viewIndex);
viewIndex++;
}
}
}
function sleep(milliseconds) {
var start = new Date().getTime();
while((new Date().getTime() - start) < milliseconds) {
// Do nothing
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:解决方案
setInterval(function() {
Ti.API.info('Scrolling To Index: ' + viewIndex);
scrollView.scrollToView(viewIndex);
if(viewIndex == 4) {
viewIndex = 0;
scrollView.scrollToView(viewIndex);
} else {
scrollView.scrollToView(viewIndex);
viewIndex++;
}
}, 6000);
Run Code Online (Sandbox Code Playgroud) 有没有办法模拟使用iOS模拟器的接近传感器的使用?我还没有要在设备上测试的证书,所以我需要某种方法来模拟接近传感器返回是或否以测试功能.
那么,我可以模拟它,还是我必须等待证书?谢谢
我只需要在两个标签之间提取一些信息,在这种情况下, <title>
例如:
...
<title>I Need This!</title>
...
Run Code Online (Sandbox Code Playgroud)
而且我只需要能够获取标签之间的信息。我当时在考虑使用split(),但是,我一直无法弄清楚如何剪切前后的所有数据,而只是捕捉title标签中的内容。如您所知,我是文本格式的初学者。谢谢!
编辑:我正在浏览的文件类型的示例在这里:https : //gdata.youtube.com/feeds/api/videos/http : //youtu.be/_OBlgSz8sSMg?v=2
我只是想利用title标签中的内容来获取视频的标题。
在所有基础知识中,我想要拥有iPhone的视图和iPad的视图.但是,我想为它们使用相同的视图控制器,因为它们是相同的,只是针对每个设备进行了优化.
我知道可以这样做,因为它是一个通用应用程序,通用项目的默认视图包括iPhone的一个主视图和iPad的一个主视图.但是,它们是自动实现的,因此我不知道如何复制它.
所以,这个问题的主旨是:你如何将两个xib连接到一个viewcontroller?
谢谢,
作为计算器应用程序的一部分,我正在尝试使用sigma表示法.但是,它输出的结果总是小数,其余的并不重要.我只想将小数更改为分数.
我已经有了reduce函数,我遇到的问题是从这样的小数点开始:'0.96875'到它的小数值,'31/32'
谢谢!
PS:我已经调查了几乎所有事情,而对于我的生活,我无法弄清楚这一点.此时我需要的是如何从中取出小数,然后我可以减少它.
这是我的reduce方法:
-(void)reduce {
int u = numerator;
int v = denominator;
int temp;
while (v != 0) {
temp = u % v;
u = v;
v = temp;
}
numerator /= u;
denominator /= u;
}
Run Code Online (Sandbox Code Playgroud) 谢谢你的时间和阅读.我想要做的是弄清楚为什么这NSLog告诉我NSArray无论如何总是空的.我认为问题是我发NSMutableArray错了.您是否可以看看并决定我是否做得对,如果可能的话,给我一个方法将数组传入NSMutableArray?
谢谢!
//Get Defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy];
//Declares Mutable Array
self.favorites = [[NSMutableArray alloc] initWithObjects:favoriteArray, nil];
NSLog(@"array: %@", favorites);
Run Code Online (Sandbox Code Playgroud)
更新:我明白了.事实证明,您必须使用initWithArray声明它,而不是尝试将其添加为对象
解:
- (void)viewDidLoad {
//Get Defaults
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *favoriteArray = [[defaults objectForKey:@"favorites"] copy];
//Declares Mutable Array
self.favorites = [[NSMutableArray alloc] initWithArray:favoriteArray];
[super viewDidLoad];
}
Run Code Online (Sandbox Code Playgroud) 我今天遇到了一个有趣的问题.作为练习的一部分,我熟练掌握了Objective-c,当我坐在数学课上时,我为每个在板上完成的问题编写程序,希望增加我的数学和编程能力.
但是,今天我遇到了一个问题.其中一个问题是"查找10564245(< - 示例编号)可被整除的最大素数"
所以,我进去制作了这个节目.我做了要检查的值的循环,然后开始编码它检查提醒的部分,如果它是0,它会记录它,如果不是,它会跳过它.
但是,由于这个数字太大而不能成为一个int,它必须是一个double.当我尝试插入数字时,程序在我想使用%带有double 的运算符时给了我错误.如果你有一个非常大的数字,有没有办法找到剩余的?
谢谢
错误: Invalid operands to binary expression
编辑:解决了!
我从每个答案中拿了一点.我们有fmod功能,但我最终使用long而不是int,我不知道为什么我没有想到原始
我是使用SQL和数据库的新手; 到目前为止,我的应用程序保持了本地化 但是,我有一个数据库填充我的应用程序中的表,没有什么过于复杂.
我想加入一个收藏菜单.我接近这个的方法是在标题为SQL数据库中创建一个列Favorite,然后检查该值是0(不是收藏)还是1(收藏).现在,如何遍历SQL数据库中的所有行,检查它们是否被收藏,然后将它们打印到表中?
我打算写一些语音代码,以便更好地了解我的目标:
var rows = db.execute('SELECT DISTINCT entity_name FROM entity_info');
while (rows.isValidRow()) {
if (FavoritesValue FROM db == 1) {
//This line here is what I need ^^^ The syntax is not right, its an example.
var row = Ti.UI.createTableViewRow({
title:rows.fieldByName('entity_name')
});
}
rows.next();
}
Run Code Online (Sandbox Code Playgroud)
我在代码中标记了我需要帮助的行.
xcode ×5
objective-c ×4
ios ×3
javascript ×3
math ×2
appcelerator ×1
background ×1
database ×1
iphone ×1
loops ×1
proximity ×1
split ×1
sql ×1
titanium ×1
uiscrollview ×1
uitextfield ×1
views ×1