RubyMotion已经发布了,我想知道,如果有类似的解决方案,或者是Python?
Ruby Motion刚刚问世,而截屏视频似乎没有说明是否可以使用Interface Builder构建接口并将它们集成到RubyMotion项目中.这样的事情可能吗?或者我真的手动编写所有代码,更不用说维护iPhone/iPad的不同代码了吗?
我的代表不够高,无法创建rubymotion标签,所以请在适当的时候帮忙.
我正在尝试为表格中的每个单元格创建一个切换按钮.按下时,它将改变图像,再次按下时,它将再次改变图像 - 切换.
在UIButton
课堂上,我没有看到一个selected
州.
我正在寻找一种方法来创建一个使用UIButton的切换按钮,以便我可以在每次单击时更改状态.
这就是我现在正在rubymotion
使用的方式rmq
@fav_button.on(:touch) do |sender|
puts "pressed fav button for id: " + data[:id] + " and name: " + data[:name]
#how do I change the state here?
end
Run Code Online (Sandbox Code Playgroud) 如何将以下方法调用从ObjectiveC转换为RubyMotion语法:
[self.faceView addGestureRecognizer:[
[UIPinchGestureRecognizer alloc] initWithTarget:self.faceView
action:@selector(pinch:)]];
Run Code Online (Sandbox Code Playgroud)
我到目前为止:
self.faceView.addGestureRecognizer(
UIPinchGestureRecognizer.alloc.initWithTarget(
self.faceView, action:???))
Run Code Online (Sandbox Code Playgroud)
我理解@selector(pinch:)
指示接收器对象pinch
方法的委托,但我如何在RubyMotion中执行此操作?也许用块?
我知道如何设置导航栏背景颜色(使用barTintColor),但现在我正在开发一个需要水平渐变(不是典型的垂直渐变)的iOS应用程序.
如何创建具有水平渐变背景的导航栏?
我正在UICollectionView
一个显示相当多照片(50-200)的应用程序中使用,并且我遇到了让它变得活泼的问题(例如像照片应用程序那样活泼).
我有一个自定义UICollectionViewCell
用UIImageView
,因为它的子视图.我正在将文件系统中的图像加载UIImage.imageWithContentsOfFile:
到单元格内的UIImageViews中.
我现在尝试了很多方法,但它们要么是有缺陷要么是性能问题.
注意:我正在使用RubyMotion,因此我将以Ruby风格编写任何代码片段.
首先,这是我的自定义UICollectionViewCell类供参考...
class CustomCell < UICollectionViewCell
def initWithFrame(rect)
super
@image_view = UIImageView.alloc.initWithFrame(self.bounds).tap do |iv|
iv.contentMode = UIViewContentModeScaleAspectFill
iv.clipsToBounds = true
iv.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
self.contentView.addSubview(iv)
end
self
end
def prepareForReuse
super
@image_view.image = nil
end
def image=(image)
@image_view.image = image
end
end
Run Code Online (Sandbox Code Playgroud)
方法#1
保持简单..
def collectionView(collection_view, cellForItemAtIndexPath: index_path)
cell = collection_view.dequeueReusableCellWithReuseIdentifier(CELL_IDENTIFIER, forIndexPath: index_path)
image_path = @image_paths[index_path.row]
cell.image = UIImage.imageWithContentsOfFile(image_path)
end
Run Code Online (Sandbox Code Playgroud)
使用此功能可以向上/向下滚动.这是跳跃和缓慢.
方法#2
通过NSCache添加一些缓存...
def viewDidLoad
...
@images_cache …
Run Code Online (Sandbox Code Playgroud) 所以我试图将AudioToolbox与RubyMotion一起使用,
1,补充说
app.frameworks << 'AudioToolbox'
Run Code Online (Sandbox Code Playgroud)
在Rakefile中,
2,并在我的一个简单的视图控制器方法中,简单地添加
p AudioFileID
Run Code Online (Sandbox Code Playgroud)
3,然后耙,
4,鉴于错误,
uninitialized constant RecorderViewController::AudioFileID (NameError)
Run Code Online (Sandbox Code Playgroud)
显然AudioFileID在AudioToolbox中没有加载,我在CoreAudio中尝试了类似的东西,它运行良好.我需要要么什么?任何的想法?谢谢.
我在一个rubymotion项目
已经安装了rake文件,gem文件和bundle中的afmotion.当我尝试运行rake pod:install时出现上述错误.
有任何想法吗?提前致谢.
我是Objective-c的新手,我在使用AFNetworking时遇到了困难.
所以问题是我想向服务器发一个简单的POST请求,该服务器会给我发回盐.我做一个简单的应用程序,以测试我的请求,但我不明白为什么我得到错误代码999.
这是我的代码示例.
+ (void)simpleRequest; {
NSURL *mailserver = [NSURL URLWithString:@"https://localhost:4443/"];
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithBaseURL:mailserver];
manager.securityPolicy.allowInvalidCertificates = TRUE;
manager.responseSerializer = [AFJSONResponseSerializer serializer];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
NSDictionary *parameters = @{@"username": @"testtest"};
[manager POST:@"api/v0/login/salt" parameters:parameters success:^(NSURLSessionDataTask *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(NSURLSessionDataTask *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
Run Code Online (Sandbox Code Playgroud)
我已将此代码链接到一个调用此函数的简单Button.
我有另一个应用程序,在红宝石运动中,这项功能的工作被罚款我可以得到没有任何错误的响应.但是使用这个简单的应用程序,我无法做任何请求,他们都返回此错误代码999.
错误:错误域= NSURLErrorDomain代码= -999"已取消"UserInfo = {NSErrorFailingURLKey = https:// localhost:4443/api/v0/login/salt,NSLocalizedDescription =已取消,NSErrorFailingURLStringKey = https:// localhost:4443/api/v0/login/salt }
所以我真的很想知道我做错了什么,有谁可以帮我这个?谢谢
编辑:
这是在经理中保存经理还是做错事的好方法?如果这是好方法,这似乎不起作用谢谢你的帮助
.h文件
@property (nonatomic, retain) AFHTTPSessionManager *session;
Run Code Online (Sandbox Code Playgroud)
.m文件 …
我正在尝试cocosmotion,这是Cocos2d的Rubymotion实现.在我正在完成的教程中,我有一个以struct作为参数的方法.我咨询了Rubymotion和MacRuby文档,但无法弄清楚如何根据我需要的结构实例化一个新对象.我认为主要的问题是结构以小写字母开头,Ruby在我尝试使用它时认为它是一个局部变量.
我相信我遇到了同样的问题:https: //github.com/MacRuby/MacRuby/issues/121
有解决方案或解决方法吗?
结构在Objective-C中定义,如下所示:
typedef struct _ccTexParams {
GLuint minFilter;
GLuint magFilter;
GLuint wrapS;
GLuint wrapT;
} ccTexParams;
Run Code Online (Sandbox Code Playgroud)
我试图调用的方法需要一个ccTexParams结构.
这是我尝试过的:
@mysprite = Pointer.new("{ccTexParams=
{GLUint=GL_LINEAR_MIPMAP_LINEAR}
{GLUint=GL_LINEAR}
{GLUint=GL_CLAMP_TO_EDGE}
{GLUint=GL_CLAMP_TO_EDGE}}", 4)
Run Code Online (Sandbox Code Playgroud)
当我这样尝试时:
@mysprite = Pointer.new(:object, 4)
@mysprite[0] = GL_LINEAR_MIPMAP_LINEAR
@mysprite[1] = GL_LINEAR
@mysprite[2] = GL_CLAMP_TO_EDGE
@mysprite[3] = GL_CLAMP_TO_EDGE
Run Code Online (Sandbox Code Playgroud)
运行时错误是:
expected instance of Pointer of type `{_ccTexParams=IIII}', got `@' (TypeError)
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
@mysprite = Pointer.new("_ccTexParams", 4)
@mysprite[0] = GL_LINEAR_MIPMAP_LINEAR
@mysprite[1] = GL_LINEAR
@mysprite[2] = GL_CLAMP_TO_EDGE
@mysprite[3] = GL_CLAMP_TO_EDGE
Run Code Online (Sandbox Code Playgroud)
错误:
Can't find pointer …
Run Code Online (Sandbox Code Playgroud) rubymotion ×10
ios ×7
objective-c ×3
ruby ×3
afnetworking ×1
cocoa-touch ×1
ios6 ×1
ios7 ×1
ios8 ×1
iphone ×1
python ×1
rmq ×1
syntax ×1
uibutton ×1