我使用此代码来确定键盘的大小:
- (void)keyboardWillChange:(NSNotification *)notification {
NSDictionary* keyboardInfo = [notification userInfo];
NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];
}
Run Code Online (Sandbox Code Playgroud)
我在模拟器中运行它.
问题是,因为iOS 8这将不会给出正确的值,如果键盘建议已启动或者如果我将它们向下推,则会得到不同的(不正确的)值.
如何获得键盘的确切大小,包括键盘建议?
我有一个面板(Windows窗体),我想禁用面板水平滚动条.我试过这个:
HorizontalScroll.Enabled = false;
Run Code Online (Sandbox Code Playgroud)
但那不行.
我怎样才能做到这一点?
这不是重复我读了关于这个的其他问题,他们都没有给我我需要的东西,我正在创建一个自定义单元格的表视图,并将样式分组.我在每行内部有一个ImageView,它比整行要小.我需要创建多少单元格,这是我从db得到的东西,所以我不能使用静态单元格,我需要在行之间有间距,我无法弄清楚如何做这个.我尝试制作单元格Bigger(320,143)并使其隐藏,我设法做到但当你按下图像外它仍然像我按下单元格这就是我想要实现的
但这是发生的事情:
我需要单元格是图像大小,但在不同的行之间有间距.我怎样才能做到这一点?
我在导航控制器中嵌入了一些视图.
我创建了一些segues(一些从按钮到其他视图控制器,一些从一个视图控制器到另一个视图控制器).
例如,我从一个按钮到一个名为name2的视图控制器有一个segue(显示),当我按下按钮时效果很好,但当我尝试以编程方式调用它时,应用程序崩溃并发出错误.
这就是我在ViewController1上调用segue的方法
self.performSegueWithIdentifier("name2", sender: self)
Run Code Online (Sandbox Code Playgroud)
这是从ViewController1到ViewController2
我也有一个不连接按钮但从vc1到vc2连接的segue,给出了同样的错误.
这是我得到的奇怪错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (ViewController2) has no segue with identifier 'name2''
Run Code Online (Sandbox Code Playgroud)
我尝试清洁产品并重置模拟器.
我的故事板的屏幕截图
viewcontroller1的身份检查器的屏幕(在我的项目中实际上称为ViewController)
segue的屏幕截图(name3)
segue的选项:
编辑:
我发现当我将按钮作为IBAction连接然后performSegueWithIdentifier("LogIn", sender: self)
从按钮调用它可以正常工作.
有帮助吗?
这就是我在做什么:
byte[] bytes = File.ReadAllBytes(@Application.StartupPath+"/UpdateMainProgaramApp.exe");
Assembly assembly = Assembly.Load(bytes);
// load the assemly
//Assembly assembly = Assembly.LoadFrom(AssemblyName);
// Walk through each type in the assembly looking for our class
MethodInfo method = assembly.EntryPoint;
if (method != null)
{
// create an istance of the Startup form Main method
object o = assembly.CreateInstance(method.Name);
// invoke the application starting point
try
{
method.Invoke(o, null);
}
catch (TargetInvocationException e)
{
Console.WriteLine(e.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
问题是它抛出TargetInvocationException
- 它发现该方法是main,但它抛出此异常,因为在这一行:
object o = assembly.CreateInstance(method.Name);
Run Code Online (Sandbox Code Playgroud)
o
保持为空.所以我在堆栈跟踪中挖了一下,实际的错误是这样的: …
我已将我的第一个视图嵌入到NavigationController中,然后我将segue设置为push.我想在每个视图中更改导航栏的标题以显示内容并通过我的代码更新它.我试着像这样调用导航控制器:
self.navigationController.navigationBar.topItem.title = @"YourTitle";
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我该怎么办呢?
我正在使用Parse,并获得PFUsers objectId如下:
let objectID = PFUser.currentUser().objectId;
Run Code Online (Sandbox Code Playgroud)
但每次我运行我的应用程序和应用程序到达这一行我得到这个:
fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)
如果我试着改变这个:
let objectID = PFUser.currentUser().objectId!;
Run Code Online (Sandbox Code Playgroud)
我不能这样做下一行:if (objectID != nil)
因为NSString不符合NiLiteralConvertible
我曾经阅读过有关如何创建新表单并将其置于所有其他窗口之上的教程,以便您只能单击它 - 例如在Internet Explorer中,例如当您单击浏览文件时,您无法单击主窗口,直到您使用浏览窗口完成.
还有什么是从表单中获取值的最佳方法,为了在我的第二个表单上进行扩展,我有一个列表框,当用户点击其中一个值时,第一个表单(mainform)应该得到事件 - 这可能吗?
我在Haskell中进行了练习,我需要创建各种类型.第一种类型称为有限,它定义如下:
type Finite a = [a]
Run Code Online (Sandbox Code Playgroud)
然后我需要返回一个像这样定义的单例
singleF :: a -> Finite a
Run Code Online (Sandbox Code Playgroud)
所以我这样实现它:
single n = [n]
Run Code Online (Sandbox Code Playgroud)
然后我创建另一种类型
type Enumeration a = Int -> Finite a
Run Code Online (Sandbox Code Playgroud)
然后我需要重新实现单例函数
singleE :: a -> Enumeration a
Run Code Online (Sandbox Code Playgroud)
在我的理解中,类型Enumeration
是从Int到类型列表的函数的同义词a
,但我无法理解我是如何实现它的.
从锻炼(以前的类型"有限"也被称为"桶"): An enumeration is an infinite sequence of finite buckets, indexed by natural numbers
.
而函数是:I suggest for simplicity that you put the sole item in bucket 0
,所以我认为int是枚举中桶的索引
ios ×5
objective-c ×4
c# ×3
winforms ×3
cocoa-touch ×2
iphone ×2
swift ×2
haskell ×1
ios8 ×1
keyboard ×1
list ×1
reflection ×1
segue ×1
uitableview ×1