我一直在python 2中使用string.join()方法,但它似乎已经在python 3中被删除了.在python 3中有什么等效方法?
string.join()方法让我在每个其他字符串之间将多个字符串与字符串组合在一起.例如,string.join(("a","b","c"),".")将导致"abc".
我想设置动画的视图向上移动时,键盘被隐藏和显示文本字段,我得到它的工作完全正常,但是当从一个文本字段焦点移动到另一个,这是行不通的因为键盘已经显示出来了.
在viewDidLoad中,我注册了以下内容:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
然后在keyboardWillShow和keyboardWillHide方法中,它确定视图是否应该移动并相应地设置动画.但是,如果已经显示了键盘并且用户单击了需要视图向上移动的另一个文本字段,则不会调用该方法.当键盘已经显示时,有没有办法检测焦点是否已更改为另一个文本字段?如果有一种方法可以做到这一点,而不必将所有文本字段设置为委托,那将是很好的.
提前致谢.
如何让我的应用程序在后台运行?我是否必须越狱我的iPhone才能做到这一点?我只需要这个应用程序每隔一定时间间隔从互联网上检查一下,并在需要时通知我自己使用.
我使用Python 2 Tkinter
和PyObjC
,然后我使用py2app
.
程序工作正常,但是每当我打开程序时窗口都会以隐藏的方式启动,所以直到我点击停靠栏上的图标才能显示它.
有没有办法控制这个,让窗口在应用程序启动时打开的其他窗口的顶部?
只是为了澄清,它不必在应用程序运行的整个过程中处于顶部.我只是需要它在其他窗口启动时.
我有一个带有搜索栏的非tableview视图,虽然它工作正常,搜索显示控制器会隐藏表格视图,并在搜索栏中出现空字符串时覆盖暗灰色视图.我希望它在空字符串位于搜索栏中时显示预加载的数据,而不是隐藏表格视图并覆盖搜索栏下方的暗灰色视图.就像Safari for iOS中的Google搜索栏一样.
我之前在stackoverflow上发现了一个类似的问题: UISearchDisplayController - 如何预加载searchResultTableView,我真的无法让它工作.
我没有问题获取预加载数据并设置当前数据,但我不知道如何阻止displaycontroller删除searchResultsTableView.
提前致谢.
objective-c uisearchbar uisearchdisplaycontroller ios xcode4.3
我是Java的新手,我正在尝试创建一个带有标签,按钮和文本字段的GUI应用程序.该程序非常简单,我只想使用默认布局,即FlowLayout.我设法将一切都放好并且尺寸合适,但唯一似乎不起作用的是对齐.我想放置具有某些对齐的按钮和文本字段,但每当我设置对齐时,它都会将文本移动到对象内部而不是对象本身.例如,我写道:
button.setHorizontalAlignment(JButton.RIGHT);
Run Code Online (Sandbox Code Playgroud)
但似乎它对齐按钮内的文本而不是按钮本身.有没有办法对齐按钮本身而不是内部的文本?
我知道使用其他类型的布局(例如BoxLayout)可以更容易地对齐东西,但我只想使用FlowLayout这个,除非不可能使用FlowLayout对齐它们(我不这么认为) .
提前致谢.
我正在尝试为我的Mac OS X(Mountain Lion)应用添加新的本地化.我在项目信息面板中添加了适当的本地化,并使所有.xib
文件都已本地化.我还添加并翻译了.strings文件,并将.xib文件替换为已翻译的字符串文件.然后一切似乎都在工作,界面构建器为每个本地化xib
文件显示了适当的翻译.但是,当我实际运行应用程序时,它会以英语显示,但我的系统的默认语言不是英语.我还有Localizable.strings
一些标签的文件,对于我使用的那些NSLocalizedString
工作正常.我不确定我在这里缺少什么?
提前致谢.
我是Java的新手,我在理解声明的概念和变量的初始化方面遇到了一些麻烦.
例如,当我这样做时:
public class Foo {
public static void main (String[] args) {
int x, y;
for (x = 0 ; x < 10 ; x++) {
y = x + 1;
}
System.out.println(x);
System.out.println(y);
}
}
Run Code Online (Sandbox Code Playgroud)
它没有编译,并说"变量y可能没有被初始化." 但是,如果我告诉它只是在循环后打印出x值,它没有任何问题.当然,如果我在开始时简单声明它(说int y = 0;或类似的东西)它会工作,但我想知道为什么x被打印而不是y.
提前致谢!
编辑:
我知道编译器实际上并没有检查循环内部是否会初始化变量,所以它只是说它可能没有被初始化,但是为什么以下代码有效呢?编译器是否检查if循环而不是for循环?
public class Foo {
public static void main (String[] args) {
int x = 0, y;
if (x == 0) {
y = 1;
}
else {
y = 2;
}
System.out.println(y);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑2: …
是否可以从包中导入除一个模块以外的所有内容?
我需要在我的类中使用的特定库中的许多模块,但看起来它使用了我需要的其中一个模块的相同模块名称.
我需要使用set操作和交集,但是当我从我的类中导入该库时,它会因此而给我一个错误.
我不想单独导入它或将名称放在每个方法的前面,因为我经常使用它.
有没有办法让python导入除了特定方法之外的所有内容set
?或者可能set
稍后再次导入该部件?
我有一个字典,每个键包含一个列表作为值.而且我正在尝试查看列表中的所有项目,让我们说我正在尝试打印所有项目,我写道:
for item in aDict:
for item2 in aDict[item]:
print item2
Run Code Online (Sandbox Code Playgroud)
这会打印出列表中第一个值的项目,然后它会给出一个错误,说"迭代非序列".为什么这样,我应该怎么做?
提前致谢.
python ×4
ios ×3
objective-c ×3
xcode4.3 ×3
iphone ×2
java ×2
alignment ×1
declaration ×1
dictionary ×1
flowlayout ×1
import ×1
intersection ×1
ios5 ×1
iteration ×1
localization ×1
macos ×1
methods ×1
osx-lion ×1
py2app ×1
pyobjc ×1
python-3.x ×1
sequence ×1
set ×1
string ×1
swing ×1
tkinter ×1
uisearchbar ×1
uitextfield ×1
variables ×1
xcode4.5 ×1