我已经构建了一个iPhone网络应用程序并完成了所有步骤,使其看起来像一个本机应用程序:应用程序图标,防止滚动,防止选择,使用基于触摸的js方法等.但是,我有一个艰难的时间随着闪屏.
我尝试过使用清单文件缓存的320x460 PNG和JPEG.启动图像确实出现,但仅在应用程序启动白屏后几秒钟后出现.因此,在应用程序完成启动之前,启动画面实际上只显示了几分之一秒.
我无法弄清楚为什么它没有立即加载飞溅.我知道它是由清单缓存的,因为它加载没有互联网连接.我之前读过,直到DOM准备好才会显示启动,所以我猜这是问题所在,但我不知道如何修复它.
iphone splash-screen iphone-web-app iphone-standalone-web-app
据我所知,size_t和wchar_t的表示完全是特定于平台/编译器的.例如,我已经读过Linux上的wchar_t现在通常是32位,但在Windows上它是16位.有没有什么方法可以在我自己的代码中将这些标准化为一组大小(int,long等),同时仍然保持与两个平台上现有标准C库和函数的向后可比性?
我的目标基本上是做类似的设置,因此它们是一组尺寸.这可能不会破坏某些东西吗?我应该这样做吗?有没有更好的办法?
更新:我想这样做的原因是我的字符串编码在Windows和Linux上都是一致的
谢谢!
我从sudo bundle install命令获得以下输出:
Fetching source index for `http://rubygems.org/`
Could not reach rubygems repository `http://rubygems.org/`
Could not find gem 'rspec-rails (>= 2.0.0.beta.22, runtime)' in any of the gem sources.
Run Code Online (Sandbox Code Playgroud)
我正确设置了$ http_proxy并且我已经添加了gem:--http-proxy =我的代理到〜/ .gemrc.这些设置允许我的gem命令工作,我希望他们会转换为bundler,但没有这样的运气.
思考sudo可能不会继承我的所有环境,我也将这些设置添加到我的root用户,但是nada.
此时,bundler阻止我部署我的应用程序,我发现很少有其他人遇到这个问题.如果没有人有答案,我将被迫从我的Rails应用程序(我不介意做...)中破解捆绑器
我正在尝试编写一些以编程方式创建UIButton的代码的单元测试,但是当我从测试中调用此代码时,我得到了一个NullReferenceException.单步执行调试器,看起来像UIButton.FromType()返回null.
这是我正在测试的方法:
public UIButton makeButton (String title, Action<IWelcomeController> action)
{
UIButton button = UIButton.FromType (UIButtonType.RoundedRect);
// button is null here
button.SetTitle(title, UIControlState.Normal);
button.TouchUpInside += (sender, e) => {
action(controller);
};
return button;
}
Run Code Online (Sandbox Code Playgroud)
这是测试方法:
[Test()]
public void TestMakeButtonTitle ()
{
String title = "Elvis";
UIButton button = GetFactory().makeButton(title, delegate(IWelcomeController w) {});
Assert.AreEqual(title, button.Title(UIControlState.Normal));
}
Run Code Online (Sandbox Code Playgroud)
我猜我需要做一些神奇的环境才能让MonoTouch.UIKit在真正的应用程序之外工作.任何提示?(如果不可能,建议采用其他方法?)
今天最近在Stackoverflow上我了解到:
我一直试图弄清楚这一切,所以这是另一个非常具体的问题,支持我处理构造函数的主要问题.
更新:替换了整个问题:
TComputer = class(TObject)
public
constructor Create(Teapot: string='');
end;
TCellPhone = class(TComputer)
public
constructor Create(Cup: Integer); overload; virtual;
constructor Create(Cup: Integer; Teapot: string); overload; virtual;
end;
Run Code Online (Sandbox Code Playgroud)
构建TCellPhone时,可以使用3个构造函数:
问题:为什么constructor(Teapot: string='')不被隐藏?
现在我添加了第三个后代:
TComputer = class(TObject)
public
constructor Create(Teapot: string='');
end;
TCellPhone = class(TComputer)
public
constructor Create(Cup: Integer); overload; virtual;
constructor Create(Cup: Integer; Teapot: string); overload; virtual;
end;
TiPhone = class(TCellPhone)
public
constructor Create(Cup: …Run Code Online (Sandbox Code Playgroud) 具体来说,我正在谈论像这样编写一个dealloc:
-(void)dealloc
{
self.myvar = nil;
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
我理解这违背了Apple的建议.我也明白,它可以导致使用部分解除分配的对象上的setter使用KVO.但是,如果我按此顺序进行调用(即:首先设置setter,那么[super dealloc])是否存在执行此操作的风险?我试图准确理解危险是什么,特别是为什么这是一件坏事(tm).谢谢....
我公司的某个人偶然发现了问题.有没有人对该产品有任何经验?任何输入都会有所帮助.基本上我们想要一个集中的地方来检查我们的日志以查找多个应用程序.需要至少支持.net和Java.其他产品将不胜感激.
谢谢
我正试图在rails应用程序上设计我的ruby.我创建了views/layouts/posts.html.erb,它描绘了我PostsController的观点.
我想添加一个始终位于页面顶部的主栏,无论用户正在查看什么视图.我认为这就是原样views/layouts/application.html.erb.
这似乎与我一致:http: //jacqueschirag.wordpress.com/2007/08/02/rails-layout-and-nested-layout-basics/
整个Rails应用程序(所有控制器的所有视图)将使用此布局:
views/layouts/application.rhtml单个控制器中的所有视图都将使用此布局.例如,weclome_controller.rb的布局将使用此布局.请注意,'_controller'不会用于布局:
views/layouts/welcome.rhtml
我究竟做错了什么?
这就是我在我身上所拥有的 application.html.erb
<div id="top-bar">
<div id="user_nav">
<% if current_user %>
<%= link_to "My Profile", current_user %>
<%= link_to "Logout", logout_path %>
<% else %>
<%= link_to "Register", new_user_path %>
<%= link_to "Login", login_path %>
<% end %>
</div>
</div>
<%= yield %>
Run Code Online (Sandbox Code Playgroud) 在我的iPhone应用程序中,我试图从Web服务收到的日期字符串中获取EEE MMM dd.
对于时间<07:00的所有日期,NSDateFormatter将日期关闭1天.例如:格式化日期:2010-11-17T05:00:00,格式化日期结果:11月16日星期二
这是代码片段:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"EEE MMM dd"];
NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
NSString *formattedDateString = [dateFormat stringFromDate:dateToFormat]; [dateFormat release];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"EEE MMM dd"];
NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
NSString *formattedDateString = [dateFormat stringFromDate:dateToFormat];
[dateFormat release];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat: @"EEE MMM dd"];
NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
NSString *formattedDateString = [dateFormat …
通过实现OnCompletionListener将数据源设置为不同的文件,我可以连续播放视频.没有问题.我调用reset()和prepare()就好了.
我无法弄清楚的是,如何消除数据源更改和新视频启动之间的1-2秒间隙屏幕闪烁.差距显示黑屏,我没有找到任何方法绕过它.
我已经尝试将父视图的背景设置为图像,但它设法绕过它.即使SurfaceView是透明的(默认情况下也是这样).我也尝试同时播放多个视频文件,并在一个结束而另一个应该启动时切换媒体播放器的显示.
我尝试的最后一件事是在后台显示第二个视图,我在视频"准备"时暂时显示,并在视频准备好开始时将其删除.这也不是很无缝.
有没有办法摆脱这种差距.在循环中运行视频非常有效,并且完全符合我的要求,除了它正在查看相同的视频而不是播放我选择的不同视频.
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/background"
android:layout_height="fill_parent">
<SurfaceView
android:id="@+id/surface"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center">
</SurfaceView>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
Player.java
public class Player extends Activity implements
OnCompletionListener, MediaPlayer.OnPreparedListener, SurfaceHolder.Callback {
private MediaPlayer player;
private SurfaceView surface;
private SurfaceHolder holder;
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.main);
surface = (SurfaceView)findViewById(R.id.surface);
holder = surface.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void onCompletion(MediaPlayer arg0) {
File clip = new File(Environment.getExternalStorageDirectory(),"file2.mp4");
playVideo(clip.getAbsolutePath());
}
public void onPrepared(MediaPlayer …Run Code Online (Sandbox Code Playgroud) iphone ×3
objective-c ×2
aggregation ×1
android ×1
bundler ×1
c ×1
c++ ×1
constructor ×1
delphi ×1
delphi-5 ×1
ipad ×1
layout ×1
logging ×1
macos ×1
media-player ×1
nunit ×1
proxy ×1
ruby ×1
rubygems ×1
size-t ×1
uibutton ×1
uikit ×1
video ×1
xamarin.ios ×1