我们生成的网页应始终以横向模式打印.Web浏览器打印对话框默认为纵向,因此对于每个打印作业,用户都必须手动选择横向.它很小,但如果我们可以删除这个不必要的步骤,对用户会很好.
提前感谢所有受访者.
我想使用以下代码获取表视图的窗口坐标:
[self.tableView.superview convertRect:self.tableView.frame toView:nil]
它在纵向模式下报告正确的坐标,但是当我旋转到横向时,它不再报告正确的坐标.首先,它会翻转x,y坐标以及宽度和高度.但这不是真正的问题.真正的问题是坐标不正确.在纵向中,表格视图框架的窗口坐标为{{0,114},{320,322}},而在横向中,窗口坐标为{{32,0},{204,480}}.显然这里的x值是不正确的,对吧?不应该是84吗?我正在寻找一个解决这个问题的方法,如果有人知道如何在横向模式下获得视图的正确窗口坐标,如果你能与我分享这些知识,我将非常感激.
以下是一些屏幕截图,以便您可以看到视图布局.
这个问题与这里提出的问题非常相似.
我的问题是我有一张地图,如下所示:
此贴图使用2D Perlin噪声制作,然后运行创建的高度图,根据相应元素的高度或坡度为地形中的每个元素指定类型和颜色值,因此非常标准.地图数组是二维的,并且是屏幕尺寸的精确尺寸(像素每像素),所以在我的装备上1200到800代需要大约2秒.
现在放大突出显示的矩形:
显然,随着尺寸的增加,细节也会丢失.这就是问题所在.我想在运行中创建额外的细节,然后在玩家四处移动时将其写入磁盘(播放器只是一个限制在沿网格移动的点).我看到两种方法可以做到这一点,第一个想到我快速实现的方法:
这是从旧地形的采样元素创建的新偏置局部地形的放大视图,其由前一图像中的黄色网格空间(中心的左侧)突出显示.然而,这个系统需要进行大量的修改,例如,如果将一个单元向左和向上移动到黄色网格空间,到海滩区域,地形会完全改变:
因此,为了正常工作你需要做过多的,我想这个词就是插值,以便在玩家移动当地世界需要达到下一个的40个左右网格空间时创建平滑过渡在世界各地.这似乎很复杂,也很不优雅.
第二种方法是将原始地图的网格分解为较小的位,可能将每个方格除以4?我没有实现这一点,我不确定如何以一种实际上会增加细节的方式,但我认为这可能最终成为最佳解决方案.
关于我如何处理这个问题的任何想法?请记住,它必须是本地的和即时的.只是增加地图的分辨率是我想不惜一切代价避免的.
在我的iPhone应用程序中,我有一个用于拍照的UIImagePickerController.我隐藏了所有默认的相机控件,并在UIImagePickerController中添加了带有两个按钮的UIView作为CameraOverLayView.我的应用程序始终只在横向模式下运行.相机也仅启动横向模式.现在,CameraOverlayView仅在Landscape左侧不变为Landscape to Right.当设备方向改变时,如何左右更改CameraOverlayView LandscapeMode?请帮我修理一下.这是我的应用程序中的主要问题.此代码在横向模式下保持Overlayview为Left
imgpicker.cameraOverlayView.transform = CGAffineTransformRotate(CGAffineTransformIdentity, 117.81);
Run Code Online (Sandbox Code Playgroud)
并且此代码在横向模式下保持cameraoverlayview权限GAffineTransform transform = self.view.transform;
transform = CGAffineTransformRotate(transform, (M_PI / 2.0));
imgpicker.cameraOverlayView.transform = transform;
Run Code Online (Sandbox Code Playgroud)
我在这样的UIInterfaceOrientation方法中使用了这些代码,
UIInterfaceOrientation orientation= [[UIApplication sharedApplication] statusBarOrientation];
if (orientation == UIInterfaceOrientationLandscapeLeft)
{
imgpicker.cameraOverlayView.transform = CGAffineTransformRotate(CGAffineTransformIdentity, 117.81);
}
else if (orientation == UIInterfaceOrientationLandscapeRight)
{
CGAffineTransform transform = self.view.transform;
transform = CGAffineTransformRotate(transform, (M_PI / 2.0));
imgpicker.cameraOverlayView.transform = transform;
}
Run Code Online (Sandbox Code Playgroud)
但是,这些并没有帮助我.当我左右旋转设备方向横向时,相机覆盖视图不会改变.你能解决我的问题吗?谢谢.
如果您在iPad上访问http://eastcoworldwide.com/Proofs/mint/index.html,请单击第1章>第1章>开始使用...您将在加载屏幕后看到第1章页面.
基本上这是什么,是html嵌入到由html 5和javascript拉到一起的iframe中.这个iframe中的html调用自己的名为other.css的css表.把这一切拉到一起的html文件就是调用一个名为styles.css的样式表.
显然,我希望在纵向视图中,此iframe的内容区域小于横向.我在other.css中使用css:
@media only screen and (device-width: 768px) and (orientation:landscape) {
#content {background:green;}
}
@media only screen and (device-width: 768px) and (orientation:portrait) {
#content {background:blue;}
}
Run Code Online (Sandbox Code Playgroud)
问题是,它甚至没有看到肖像css.我已经尝试了十几种不同的方式(这应该是正确的方式,并适用于整个页面的styles.css调整)但它不会识别它.它只会使用景观.它不像它不会看到媒体查询,它拉动景观css.但不会使用肖像.真的很奇怪.如果你看到绿色的bg在纵向和横向,它忽略了肖像.如果你看到蓝色它的工作,请帮忙!
顺便说一句,如果我摆脱了风景css,它更喜欢画面的默认设置.没有意义.iframe是否会阻碍其在定位改变时拉入新的css?
我知道纯CSS可以根据屏幕尺寸调整样式表,如下所示:
@media (max-width: 959px) {
/* styles for smallest viewport widths */
}
@media (min-width: 600px) and (max-width: 959px) {
/* styles for mid-tier viewport widths */
}
@media (min-width: 960px) {
/* original CSS styles */
}
Run Code Online (Sandbox Code Playgroud)
(来源)
是否可以使用纯CSS来检查横向或纵向显示?
我有一个带有故事板,少量xib和自定义单元格的iPhone应用程序.
该应用程序被设置为"纵向"作为"支持的界面方向"(我的意思是一切都是这样显示).在我的自定义单元格中,Uiwebview链接到youtube嵌入式视频,当我点击它时视频开始播放,但我的问题是它们总是以"纵向"模式播放.我已经阅读了许多解决这个问题的东西,但仅限于ios5.
实际上:我可以识别视频何时开始或停止播放.我可以识别设备方向.但我不能(我想)从纵向到横向切换(强制)方向,或者如果用户改变他的设备的方向则提出此能力.
提前致谢.
PS:如果需要,我可以显示应用程序标识内容的代码.
我有一个iPhone应用程序,每个视图都是纵向的.我有一个带有一些HTML的UIWebview.是的,有一个html5标记的视频.当我播放该视频时,它仅以纵向播放.为了使它在横向上工作,我必须在viewcontroller中为shouldAutorotateToInterfaceOrientation返回YES,但我不希望viewcontroller旋转到横向.我只希望视频支持横向.
有可能的?
谢谢!
我有一个使用ViewPager + actionbar Sherlock标签的屏幕.我setOnPageChangeListener
在寻呼机上有一个设置,它执行以下操作:
@Override
public void onPageSelected(final int position) {
actionBar.setSelectedNavigationItem(position);
}
Run Code Online (Sandbox Code Playgroud)
如果我只有很少的标签并显示所有标签,这在纵向模式下甚至在风景中都可以正常工作.但是,如果我在横向中添加更多选项卡,则会将这些选项卡折叠为单个下拉窗口小部件.当我浏览ViewPager时,该setSelectedNavigationItem
方法被执行,但现在它对下拉选择没有影响:它保持在最后选择的值.这是非常糟糕的,因为用户缺少视觉线索:标签可能会说"一个",但用户已经在第6页.
有没有办法以编程方式更改根据位置显示哪个选项卡?
PS我知道为什么会发生这种情况:这是来自com.android.internal.app.ActionBarImpl的代码:
public void setSelectedNavigationItem(int position) {
switch (mActionView.getNavigationMode()) {
case NAVIGATION_MODE_TABS:
selectTab(mTabs.get(position));
break;
case NAVIGATION_MODE_LIST:
mActionView.setDropdownSelectedPosition(position);
break;
default:
throw new IllegalStateException(
"setSelectedNavigationIndex not valid for current navigation mode");
}
}
Run Code Online (Sandbox Code Playgroud)
当我单步执行时,我可以看到导航模式仍然是NAVIGATION_MODE_TABS,尽管标签显示为列表.现在 - 我的膝盖反射是将代码放入onConfigurationChanged以适当地设置导航模式,但这不应该自动发生吗?
PPS并且已经提交了包含补丁的Android错误
android landscape android-viewpager actionbarsherlock android-tabs
我有一个UINavigationController内的主视图控制器.在那个主视图控制器中,我有一个按钮,用于推送一个内部有UIWebView的详细视图控制器.我希望这个细节视图控制器在加载时处于横向模式.回到主视图控制器,它再次强制返回到纵向模式.我正在运行iOS 6.
我已经看到了其他类似的问题,但它并不适合我.我创建了一个LandscapeViewController,它是UIViewController的子类,我在这里编写了这些方法:
#pragma mark - Orientation Methods
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (BOOL)shouldAutorotate
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
当我按下详细视图控制器时,这是我的代码:
DetailViewController *detailVC = [[DetailViewController alloc]
initWithNibName:@"DetailViewController"
bundle:nil];
[self.navigationController pushViewController:detailVC
animated:YES];
Run Code Online (Sandbox Code Playgroud)
我正在考虑在上面的代码中将我的LandscapeViewController子类化到哪里以使其工作或如何正确地子类化并推送我的详细视图控制器.如果导航控制器无法将我的细节视图控制器从纵向推送到横向,我也可以模态显示我的详细视图控制器.我在哪里做错了?
landscape ×10
iphone ×3
orientation ×3
portrait ×3
css ×2
uiwebview ×2
android ×1
android-tabs ×1
coordinates ×1
fractals ×1
html ×1
ios6 ×1
ipad ×1
objective-c ×1
perlin-noise ×1
printing ×1
procedural ×1
terrain ×1
video ×1
window ×1
xcode ×1
youtube ×1