我用代码创建一个UIToolbar,用界面构建器创建另一个UIToolbar.但是,发现两个工具栏有不同的左右填充,如下所示:
来自Interface Builder:

来自代码:

UIImage *buttonImage = [[UIImage imageNamed:@"button.png"] stretchableImageWithLeftCapWidth:10 topCapHeight:0];
UIButton *btnTest = [UIButton buttonWithType:UIButtonTypeCustom];
[btnTest setBackgroundImage:buttonImage forState:UIControlStateNormal];
[btnTest setTitle:@"Back" forState:UIControlStateNormal];
[btnTest.titleLabel setFont:[UIFont boldSystemFontOfSize:13]];
[btnTest setBackgroundImage:[imgToolbarButton stretchableImageWithLeftCapWidth:5 topCapHeight:0] forState:UIControlStateNormal];
[btnTest addTarget:self action:@selector(clearDateEdit:) forControlEvents:UIControlEventTouchUpInside];
btnTest.frame = CGRectMake(0.0, 0.0, 50, 30);
UIBarButtonItem *btnTestItem = [[UIBarButtonItem alloc] initWithCustomView:btnTest];
[self.toolbar setItems:[NSArray arrayWithObjects:btnTestItem,nil]];
[btnTestItem release];
Run Code Online (Sandbox Code Playgroud)
我的问题是如何通过代码调整UIToolbar的左右填充?
更新
我发现这个对齐问题只发生在带有UIButton的customView的UIBarButtonItem上,UIBarButtonItem对齐很好.知道是什么导致这个或解决这个问题.
我现在能想到的唯一解决方案是手动设置框架.
想知道为UINavigationbar创建投影.我尝试使用投影创建自定义导航栏背景,但投影覆盖背景视图.
@implementation UINavigationBar (CustomImage)
- (void)drawRect:(CGRect)rect {
UIImage *image = [[UIImage imageNamed:@"titleBar.png"] retain];;
[image drawInRect:rect];
[image release];
}
- (CGSize)sizeThatFits:(CGSize)size {
CGSize newSize = CGSizeMake(320,50);
return newSize;
}
@end
I also tried on following solution: http://www.travisboudreaux.com/adding-a-drop-shadow-to-a-uinavigationbar:
@interface UINavigationBar (dropshadow)
-(void) applyDefaultStyle;
@end
@implementation UINavigationBar (dropshadow)
-(void)willMoveToWindow:(UIWindow *)newWindow{
[self applyDefaultStyle];
}
- (void)applyDefaultStyle {
// add the drop shadow
self.layer.shadowColor = [[UIColor blackColor] CGColor];
self.layer.shadowOffset = CGSizeMake(0.0, 3.0);
self.layer.shadowOpacity = 0.25;
}
@end
Run Code Online (Sandbox Code Playgroud)
它显示我的导航栏按钮的阴影,但没有导航栏本身.
最终解决方案: 这是我为UINavigationBar创建投影的方法.非常感谢MusiGenesis指出我的代码缺失的链接:
#import <QuartzCore/QuartzCore.h>
@interface UINavigationBar (CustomImage) …Run Code Online (Sandbox Code Playgroud) 对于nodejs有没有像python或其他语言一样的stdout flush?
sys.stdout.write('some data')
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)
现在我只看到process.stdout.write()了nodejs.
根据骨干js网站:
Backbone唯一的硬依赖是Underscore.js(> 1.3.1).对于RESTful持久性,通过Backbone.Router的历史支持和使用Backbone.View的DOM操作,包括json2.js,以及jQuery(1.4.2)或Zepto.
我使用下面的代码测试,删除jQuery和Backbone视图会引发错误.
<html>
<head>
<title>asda</title>
<!--<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>-->
<script src="http://documentcloud.github.com/underscore/underscore.js"></script>
<script src="http://documentcloud.github.com/backbone/backbone.js"></script>
<script type="text/javascript" charset="utf-8" async defer>
SearchView = Backbone.View.extend({
initialize: function(){
alert("Alerts suck.");
}
});
// The initialize function is always called when instantiating a Backbone View.
// Consider it the constructor of the class.
var search_view = new SearchView;
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Backbone.View和Backbone.Router如何在没有jQuery的情况下工作?
想知道具有V8引擎的node.js是否适合部署在有限的存储设备(例如256mb)上并与其他进程并行运行.
我读到它将连接机器的资源.有没有办法限制V8引擎本身的内存和处理使用?
我注意到,如果已经在该路由路径上,则骨干网的路由器导航方法将不会重新加载路径.
例如路径已经在路径/ view1,你记得router.navigate('view1',{trigger:true}); 不会再次激活路线事件.
这是我测试的代码:
<html>
<head>
<title>Testing123</title>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script src="http://underscorejs.org/underscore-min.js" type="text/javascript"></script>
<script src="http://backbonejs.org/backbone-min.js" type="text/javascript"></script>
<style type="text/css" media="screen">
#box{
width:400px;
height:400px;
background-color:red;
}
</style>
</head>
<body>
<button id='view1'>view1</button>
<button id='view2'>view2</button>
<br/>
<div id='box'>
</div>
<script type="text/javascript" charset="utf-8" async defer>
var SystemRouter = Backbone.Router.extend({
routes: {
"view1":"view1",
"view2":"view2"
},
view1: function() {
console.log('view1');
},
view2: function() {
console.log('view2');
}
});
var sys = new SystemRouter();
Backbone.history.start({pushState: true, root: "/test/routing.html#/"});
sys.navigate('view1');
$('#view1').click(function(){
sys.navigate('view1',{trigger:true});
});
$('#view2').click(function(){
sys.navigate('view2',{trigger:true});
});
</script>
</body>
</html> …Run Code Online (Sandbox Code Playgroud) 想知道如何在一组css3动画后隐藏div.这是我的代码:
HTML
<div id='box'>
hover me
</div>?
Run Code Online (Sandbox Code Playgroud)
CSS3
#box{
position:absolute;
top:200px;
left:200px;
width:200px;
height:150px;
background-color:red;
}
#box:hover{
-webkit-animation:scaleme 1s;
}
@-webkit-keyframes scaleme {
0% { -webkit-transform: scale(1); opacity: 1; }
100% { -webkit-transform: scale(3); opacity: 0;display:none; }
}
?
Run Code Online (Sandbox Code Playgroud)
以下是jsfiddle示例,以便更好地说明:
http://jsfiddle.net/mochatony/Pu5Jf/18/
任何想法如何永久隐藏框,最好没有JavaScript?
想知道是否可以使用带有活动管理员的默认值过滤?这对于为admin用户预加载数据很有帮助.
filter :country, :default=>'US'
Run Code Online (Sandbox Code Playgroud) 我用jquery移动'tap'事件进行测试,发现每次触发都会触发两次.html页面的代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.js"></script>
<style>
#box{
background-color:red;
width:200px;
height:200px;
}
</style>
</head>
<body>
<div id="box">
tapped me
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#box').bind('tap',function(event) {
alert('why');
});
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
更具有讽刺意味的是,当我测试这个过的jsfiddle,它只是引发该事件的一个时间.
这是链接. http://jsfiddle.net/mochatony/tzQ6D/6/
经过进一步测试后,我发现将javascript放在标题部分已经消失了.
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.js">
</script>
<style type="text/css">
#box{ background-color:red; width:200px; height:200px; }
</style>
<script type="text/javascript">
$(document).ready(function() {
$('#box').bind('tap', …Run Code Online (Sandbox Code Playgroud) 我希望Kaminari能够通过分页控制显示固定计数的分页链接,例如每个导航页面上的10个链接.Kaminari默认在第一页显示6个页面链接,当您继续浏览时页面链接会继续增长,直到您达到9个项目.
我在这里显示,当我第一次加载时,它将总共有5个链接.

当我继续浏览时,它会增长.

在您浏览第5个链接之前,它仅显示9个链接.

即使在使用Kaminari导航的开头或结尾,我如何始终保持链接数为10.我尝试过Kaminari config.window,但这不是我想要的.
backbone.js ×2
iphone ×2
node.js ×2
objective-c ×2
activeadmin ×1
css3 ×1
html5 ×1
jquery ×1
kaminari ×1
v8 ×1