小编Dem*_*yro的帖子

iPhone导航栏不会显示设备上的所有按钮

在iPhone模拟器上的纵向模式或设备上的横向模式下,它显示所有导航栏按钮,但在设备上以纵向模式使用时,不显示按钮.以下是导航栏的图像.

模拟器显示按钮

设备不显示按钮

我用于测试的设备是运行iOS 6.1.3(10B329)的iPhone 4S.我使用的模拟器是运行iOS 6.0/6.1的7.0版(463.9.4).

我正在考虑在编辑模式下删除搜索按钮,但我更愿意将此选项保留给用户,无论模式如何.

任何帮助或见解表示赞赏,谢谢.

编辑: 最初viewDidLoad:为ViewController 创建并添加了正确的按钮,如下所示:

_deleteBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(deleteRows:)];
_deleteBarButtonItem.tintColor = [UIColor redColor];

_searchBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(searchButtonClicked:)];

self.navigationItem.rightBarButtonItems = @[_searchBarButtonItem, self.editButtonItem];
Run Code Online (Sandbox Code Playgroud)

进入编辑模式时:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];

    if (self.tableView.isEditing) {
        // turn off editing
        _deleteBarButtonItem.enabled = NO;
        [self.tableView setEditing:NO animated:animated];
        [self.editButtonItem setStyle:UIBarButtonItemStylePlain];
        self.navigationItem.rightBarButtonItems = @[_searchBarButtonItem, self.editButtonItem];
    } else { 
        // turn on editing
        [self.tableView setEditing:YES animated:animated];
        [self.editButtonItem setStyle:UIBarButtonItemStyleDone];
        self.navigationItem.rightBarButtonItems = @[_searchBarButtonItem, _deleteBarButtonItem, self.editButtonItem];
    }
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c navigationbar ios

5
推荐指数
1
解决办法
434
查看次数

带有嵌入式VideoView的Android平板电脑在旋转时会丢失视频

我正在寻找一种解决方案,可以在设备旋转时在平板电脑上的嵌入式VideoView中继续播放URL(*.mp4/playlist.m3u8)的视频.
目前,使用onPause()和onResume()在旋转时重新启动视频.

据我了解,许多解决方案需要使用android:configChanges="orientation|screenSize",但Android的开发者网站建议仅将此作为最后的手段.
请参阅处理运行时更改.

当您必须避免因配置更改而重新启动时,此技术应被视为最后的手段,并且不建议用于大多数应用程序.

还有另一种方法吗?我将如何通过旋转来保持视频播放,就像使用Intent时Phone设备的操作方式一样?

编辑:我也想提一提,我避免使用的另一个原因android:configChanges是因为我有不同的布局landscapeportrait,我不希望手动处理布局的变化.

编辑2:我想出了一个办法让configChanges通过使用不同的布局时,工作SurfaceView布局中和处理的布局改变onConfigurationChangedsetContentViewMediaPlayer布局之后,改为切换其显示.
现在,我只需要一种方法来保留MediaPlayer横向方向的变化.

video android orientation-changes android-videoview

5
推荐指数
0
解决办法
381
查看次数

Android上的Boost.Asio因未找到服务而失败(Boost 1.53; NDK r8e)

我正在尝试为Android和iOS构建一个跨平台的应用程序,并选择使用Boost来简化通信并从响应中解析JSON.在iOS中一切正常,但是如果我将查询更改为,则Android会因"找不到服务"错误或"未找到主机(权威)"而失败query(server, "");.

我从我的应用程序中取出代码并将其简化为抛出错误的内容,这就是我所拥有的:

...
#include <boost/asio.hpp>

boost::asio::io_service io_service;
std::string server = "<server_address>";

// Get a list of endpoints corresponding to the server name.
boost::asio::ip::tcp::resolver resolver(io_service);
boost::asio::ip::tcp::resolver::query query(server, "http");
boost::system::error_code ec;
boost::asio::ip::tcp::resolver::iterator endpoint_iterator = resolver.resolve(query,ec);

if (ec)
{
    return env->NewStringUTF(ec.message().c_str());
}
Run Code Online (Sandbox Code Playgroud)

我正在使用Android NDK r8e(64位)和Boost版本1.53(撰写时的最新版本).我使用https://github.com/MysticTreeGames/Boost-for-Android进行了一些修改,可以使用64位NDK(参见https://github.com/MysticTreeGames/Boost-for-Android/pull/28)用于构建所需的Boost库.

我将修改它以使用async_resolve,这是iOS版本正在使用的,一旦我可以使这部分工作.

编辑:

我注意到我忘了更新Android Manifest文件,所以我添加了 <uses-permission android:name="android.permission.INTERNET"></uses-permission>,但我仍然得到相同的错误.我只是在清单中遗漏了其他东西吗?

android boost cross-platform boost-asio

2
推荐指数
1
解决办法
793
查看次数