我有一个UITextField,我想在点击时放大它的宽度.我设置了约束,并确保左边的约束优先级低于我试图在右边设置动画的约束.
这是我尝试使用的代码.
// move the input box
UIView.animateWithDuration(10.5, animations: {
self.nameInputConstraint.constant = 8
}, completion: {
(value: Bool) in
println(">>> move const")
})
Run Code Online (Sandbox Code Playgroud)
这有效,但它似乎只是瞬间发生,似乎没有任何动作.我试着设置它10秒钟以确保我没有遗漏任何东西,但我得到了相同的结果.
nameInputConstraint是我控制拖动以从IB连接到我的类的约束的名称.
感谢您的帮助!
我以为我知道是什么导致了这个错误,但我似乎无法弄清楚我做错了什么.
这是我得到的完整错误消息:
Attempt to set a non-property-list object ( "<BC_Person: 0x8f3c140>" ) as an NSUserDefaults value for key personDataArray
我有一个Person我认为符合NSCoding协议的类,我在这个类中有这两个方法:
- (void)encodeWithCoder:(NSCoder *)coder {
[coder encodeObject:self.personsName forKey:@"BCPersonsName"];
[coder encodeObject:self.personsBills forKey:@"BCPersonsBillsArray"];
}
- (id)initWithCoder:(NSCoder *)coder {
self = [super init];
if (self) {
self.personsName = [coder decodeObjectForKey:@"BCPersonsName"];
self.personsBills = [coder decodeObjectForKey:@"BCPersonsBillsArray"];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
在应用程序的某个时刻,NSString在BC_PersonClass设置中,我有一个DataSave类,我认为正在处理我的属性编码BC_PersonClass.这是我在DataSave课堂上使用的代码:
- (void)savePersonArrayData:(BC_Person *)personObject
{
// NSLog(@"name of the person %@", personObject.personsName); …Run Code Online (Sandbox Code Playgroud) 我有一个自定义对象,我创建了3个属性.我创建对象并将值分配给这些属性.之后我把那个物体放进去了NSMutable Array.我知道我可以用:
for (id obj in personArray)
{
NSLog(@"obj: %@", obj);
}
NSLog(@"%@", personArray);
Run Code Online (Sandbox Code Playgroud)
告诉我我的数组中有哪些对象.但是我希望更深入一些,我希望能够看到每个对象的属性.我只是不确定如何定位它们.
这是我正在使用的代码:Person是我的自定义对象.
personObject = [[Person alloc]init];
[personObject setFirstName:firstName.text];
[personObject setLastName:lastName.text];
[personObject setEmail:emailAddress.text];
// add the person object to the array
// the array was alloc and init in a method above this code.
[personArray addObject:personObject];
for (id obj in personArray)
{
NSLog(@"obj: %@", obj);
}
NSLog(@"%@", personArray);
Run Code Online (Sandbox Code Playgroud) 我来自AS3背景,因此我可能更容易向您展示我正在尝试使用AS3做什么.我有一个UIViewController(root),里面有一个ContainerView.我的印象是容器视图的UIViewController是UIViewController(root)的子代.我希望在子视图控制器(容器视图)上按下一个按钮,并将该事件冒泡到父级(根UIViewController).在AS3中我会有类似的东西
Root Class创建子类
var childClass = new ChildClass()
childClass.addEventListener("buttonWasPressed", callThisFunction);
private function callThisFunciton(e:Event):void
{
// move the child view
TweenLite.to(childClass,1,{x:100});
}
Run Code Online (Sandbox Code Playgroud)
在Child Class中,我有一个按钮功能,可以部署这个会冒泡到父级的事件.
dispatchEvent(new Event("buttonWasPressed", true));
Run Code Online (Sandbox Code Playgroud)
我不确定该怎么做是让root VC监听该事件.因为我正在使用一个容器视图,所以我不知道如何为那个孩子VC建立一个出口并听取孩子正在做的事情.我可以控制从IB到VC的拖动,但这只是为代表容器视图的UIView创建了一个插座.当我打印一些文本时,我可以看到子视图控制器首先在父VC之前被实例化.
我发现这篇帖子我认为指向了正确的方向. https://craiggrummitt.wordpress.com/2014/07/14/communication-between-objects-in-objective-c-and-swift-compared-with-actionscript-part-5/
但是我收到了一个错误,很可能是因为我不确定如何从父VC到容器视图中的子VC建立连接.我环顾四周,似乎无法找到有关该主题的更多信息.
谢谢您的帮助!
我昨晚更新了一个Xcode 6/iOS 8项目,似乎遇到了一些问题.其中一个是它正在抛出一个致命的错误消息并崩溃应用程序.当按下按钮时,我正在尝试设置下一个按钮.
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("gameViewController")
self.presentViewController(viewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
然后在gameViewController里面我有这个:
required init(coder aDecoder: NSCoder) {
// SWIFT 2 update
state = .OptionsVisible
super.init(coder: aDecoder)!
//fatalError("init(coder:) has not been implemented")
}
Run Code Online (Sandbox Code Playgroud)
这似乎是抛出致命错误的地方,因为错误消息如下:
fatal error: init(coder:) has not been implemented: file /pathToApp/GameOptionsViewController.swift, line 81
Run Code Online (Sandbox Code Playgroud)
在我更新到所有内容的最新版本之前,这一切似乎都运行良好,我不确定是什么改变了.
我有一个 3 年前开发的应用程序,使用 Obj C 和 NSUserDefaults (NSCoding / NSKeyed\xe2\x80\x8bArchiver) 作为保存数据的方式。几个月前,我重新设计了该应用程序,并认为现在是重新开发该应用程序的好时机,但这次使用 Swift 3 和 Core Data。应用程序已完成,但此难题的最后一部分是如何将旧保存的数据 (NSUserDefaults) 转换为新的 CoreData 实体。
\n\n所有迁移的示例似乎都来自旧版本的数据库(CoreData)并向其中添加一些新内容。我很难找到我想做的事情的教程或起点。我确信它以前已经完成过,可能已经完成了数千次,但我似乎找不到任何关于它的示例或文档。
\n\n我希望有人能够通过教程或类似项目为我指明正确的方向。
\n我有一个 Owl Carousel,它运行良好,但它不在 CSS Grid 容器中。一旦我将它放在一个 HTML 标签中,并且显示设置为网格,它似乎不允许 Owl 正确显示,并且会并排放置幻灯片,并且看起来也将它们加倍。
我设置了一个小提琴,所以你可以明白我的意思。如果您删除网格 CSS 的注释,您将看到 Owl 将一次跨越所有幻灯片。
<section>
<article>
<div class="owl-carousel owl-theme">
<div class="slide"> Your Content </div>
<div class="slide"> Your Content </div>
<div class="slide"> Your Content </div>
<div class="slide"> Your Content </div>
<div class="slide"> Your Content </div>
<div class="slide"> Your Content </div>
<div class="slide"> Your Content </div>
</div>
Run Code Online (Sandbox Code Playgroud)
section{
background-color: #000000;
/*display:grid;
grid-template-columns: repeat(1,1fr);
grid-template-areas: "slide-show";*/
article{
/*grid-area: slide-show;*/
.owl-carousel{
.slide{
background-color: red;
text-align: center;
color: #fff;
height: 500px;
}
}
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试更新我的一些快速代码,以符合swift 2.2指南.我正在尝试更新我的for循环,这是我目前所拥有的
for(var i = 0; persons?.count > i; i += 1){}
Run Code Online (Sandbox Code Playgroud)
这就是我认为我应该使用的东西
for i in (0..<persons?.count){}
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误"二元运算符'.. <'不能应用于'Int'和'Int?'类型的操作数"
我只是不确定我错过了什么.
我在ViewController中创建了一个变量:
class ViewController: UIViewController {
var options: Options?
}
Run Code Online (Sandbox Code Playgroud)
在viewWillAppear中,我设置了选项
/ grab the options
let optionsFetch: NSFetchRequest<Options> = Options.fetchRequest()
do{
let results = try coreDataStack.managedContext.fetch(optionsFetch)
if(results.count > 0){
options = results.first
}
}catch let error as NSError{
print("\(error) is the error")
}
Run Code Online (Sandbox Code Playgroud)
我对此也有一个扩展:
extension UIViewController {
func myMethod() {
let color = options.color
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法从扩展程序内部访问var选项。我找到了这篇文章,并以为我已经按照他们的话做了,但还是没有运气。 在此处输入链接说明
我正在尝试从正在读入 Python 的文本文件创建一个列表。该文本文件在整个文件中包含一堆方括号[此处是一些文本]。我想做的是首先计算我有多少个方括号配对,然后将其中的任何文本添加到列表中。
这是我尝试与括号一起使用的文本文件的超级简化版本:
"[name] is going to the store! It's going to be at [place] on [day-of-the-week]."
Run Code Online (Sandbox Code Playgroud)
这是我所拥有的:
bracket_counter = 0
file_name = "example.txt"
readFile = open(file_name)
text_lines = readFile.readlines()
for line in text_lines:
val = line.split('[', 1)[1].split(']')[0]
print(val)
if line has [ and ]:
bracket_counter += 1
Run Code Online (Sandbox Code Playgroud)
我对 Python 非常陌生。我不知道我是否应该为此使用正则表达式,或者这是否会使事情变得过于复杂。
感谢您的帮助!
ios ×6
swift ×6
xcode ×5
objective-c ×2
constraints ×1
core-data ×1
css ×1
css-grid ×1
encoding ×1
for-loop ×1
html ×1
iphone-x ×1
list ×1
owl-carousel ×1
python ×1
storyboard ×1
swift2 ×1
swift3 ×1
uistoryboard ×1
uiview ×1
xcode6 ×1