你如何强制iPhone网络应用程序(不是本机应用程序)进入横向模式?
我是iphone开发的新手.在我的应用程序中,我想在设备中显示带有c纵向Orientation的Web视图.它还应该支持横向.我使用了下面的方法,但没有预期的输出.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait ||
interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation ==
UIInterfaceOrientationLandscapeRight);
}
Run Code Online (Sandbox Code Playgroud)
请指导我.请帮帮我.谢谢
发现这个功能在线,效果很好......除了我无法弄清楚如何默认它在横向打印.
private void PrintClick(object sender, RoutedEventArgs e)
{
PrintDialog dialog = new PrintDialog();
if (dialog.ShowDialog() == true)
{ dialog.PrintVisual(_PrintCanvas, "My Canvas"); }
}
Run Code Online (Sandbox Code Playgroud)
如何实际设置默认值以将我的wpf内容打印到横向模式?
我的主要活动的onCreate中有以下代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
我在layout-land/main.xml中有以下代码
<EditText android:imeOptions="flagNoExtractUi</EditText>
Run Code Online (Sandbox Code Playgroud)
为什么softinput叠加在UI之上,但在横向模式下不会改变其大小?
如何使用softinput创建具有横向模式的UI,与纵向模式相同?
我已经为iOS设计了一款专为横向模式设计的游戏,它可以很好地工作,除非你将设备转为纵向模式,它停在那里,界面只填充屏幕的中间一半.如何强制应用程序仅允许两种横向模式而不是停在纵向位置.
我已经尝试了所有的发布设置.为横向和自动方向设置了宽高比,如果我取消选中应用程序未旋转到其他横向模式的AU到方向,我听说这是Apple的自动拒绝.
除了这个小缺陷之外,这个应用程序已准备就绪.谢谢你尽你所能的帮助.
丰富
我不得不问.运用
[[UIScreen mainScreen] applicationFrame]
Run Code Online (Sandbox Code Playgroud)
是一种以纵向模式获取iphone或ipad工作区的漂亮方式.但是,如果我想在横向上获得相同的大小,还有其他代码,或者我将不得不创建:
CGRect landscape = CGRectMake(0, 20, 1024, 748)
Run Code Online (Sandbox Code Playgroud)
这甚至不适用于iPhone和iPad.
我正在使用以下嵌入代码在IOS上嵌入我的YouTube视频
- (NSString*)embedYouTube:(NSString*)youtube_id frame:(CGRect)frame {
NSString* embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<iframe src=\"http://www.youtube.com/embed/%@?rel=0\" frameborder=\"0\" allowfullscreen width=\"%0.0f\" height=\"%0.0f\"></iframe>\
</body></html>";
NSString *html = [NSString stringWithFormat:embedHTML, youtube_id, frame.size.width, frame.size.height];
return html;
}
//code to embed video
NSString *contentHTML;
if (currentAnswer.youtube_id != nil) {
contentHTML = [self embedYouTube:currentAnswer.youtube_id frame:CGRectMake(CELL_TEXT_LEFT_MARGIN + CELL_AVATAR_WIDTH + CELL_SPACING, currentYAxisValue, CELL_YOUTUBEVIEW_WIDTH, CELL_YOUTUBEVIEW_HEIGHT)];
}
[webView loadHTMLString: contentHTML baseURL:nil];
Run Code Online (Sandbox Code Playgroud)
当我播放视频时,它只播放在potrait模式而不是横向模式.这是由于'iframes'的限制吗,有什么方法可以解决这个问题吗?
TL;DR:iOS 文档不同意Info.plist
哪个方向(横向左与右)在哪一侧有主页按钮。我错过了什么吗?(例如,代码认为它所处的方向与设备知道它所处的方向之间存在区别。请参阅下面标记为 ? 的倒数第二个要点。)
但是,当我在 Xcode 中使用 General 复选框时,Info.plist
文件显示相反:
上述信息足以清楚地说明矛盾。我的问题是:我是否遗漏了某些东西,或者我应该将其视为工具链/文档/API 中的长期残留物?
您会问,当应用程序在模拟器或设备上运行时,实际会发生什么?以下是我收集的数据的一个子集。为了您的阅读方便,我强调了LEFT 和RIGHT 这两个术语。你的大脑可能仍然会爆炸。
需要跟踪三个数量:
UIDevice.current.orientation
说明了什么。当 General 复选框单独设置为 "Landscape LEFT" 时:
Info.plist
文件说“横向(左主页按钮)”[即不同意文档]UIDevice.current.orientation == .landscapeRIGHT
[即不同意Xcode,但同意模拟器菜单]UIDevice.current.orientation == .landscapeLEFT
[与文档一致/与Xcode/plist相反]我正在使用 NavigationView 和 NavigationLinks 从 MasterView 移动到 Detail1View,然后进一步移动到 Detail2View。
在处于纵向模式的 iPhone 上,所有细节视图都会显示后退按钮,并允许从 Detail2View 向后移动到 Detail1View,然后进一步移动到 MasterView。
但是在横向模式的 iPhone 或 iPad 上,当从 Detail1View 移动到 Detail2View 时,没有后退按钮。因此不可能回到Detail1View。
添加第二个 NavigationView 允许有一个后退按钮,但这并不是一个理想的解决方法,因为第二个 UINavigationViewController 显示在第一个下方。
struct MyMasterView: View {
private let names = ["Homer", "Marge", "Bart", "Lisa"]
var body: some View {
List() {
Section(header: Text("The Simpsons")) {
ForEach(names, id: \.self) { name in
NavigationLink(destination: MyDetail1View(name: name)) {
Text(name)
}
}
}
}
.navigationBarTitle(Text("My App"))
}
}
struct MyDetail1View: View {
var name: String
var …
Run Code Online (Sandbox Code Playgroud) 使用 Swift 5.3.2、Xcode 12.4、iOS 14.4、
我正在尝试在 SwiftUI 中制作一个简单的 Page-TabView (参见下面的代码摘录)。
当旋转到横向或返回纵向时,出现问题(参见视频):
每当我旋转 iPhone 时,TabView 都会“跳转”到随机选项卡编号。
为什么是这样 ?
我该怎么做才能使 TabView 在旋转时保持当前选项卡号?
(我使用的是iPhoneX)
新的 iOS14 TabView 的 PageControl 功能似乎存在更多问题,如此处所述。(也许旋转设备时的“随机选项卡编号”与所描述的布局问题有关)
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
TabView {
Text("1")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.pink)
Text("2")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.yellow)
Text("3")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.green)
Text("4")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.blue)
}
.tabViewStyle(PageTabViewStyle())
}
}
}
Run Code Online (Sandbox Code Playgroud)